この記事では、選択した領域に条件付き書式を適用するマクロを作成します。

マクロの動作を示すために、サンプルデータとして乱数を使用しました。

RawData

「メイン」シートの「最大検索」ボタンをクリックすると、マクロを実行できます。

ArrowMainSheet

ロジックの説明

選択した領域に条件付き書式を適用するための「ConditionalFormat」マクロを作成しました。このマクロは、選択した領域の最大値を含む紫色のセルを強調表示します。

このマクロを実行する前に、条件付き書式を適用する領域を選択する必要があります。

たとえば、選択したデータのサンプルとして、B9からF17までのセルの範囲を選択しました。

ArrowSelectedSample

サンプル領域を選択してマクロを実行すると、選択した領域に条件付き書式が適用され、最大値(97)を含むセルD16が紫色で強調表示されます。

ArrowFirstSampleOutput

次に、別のサンプルを取ります。 2番目のサンプル領域としてセルB10からF13までの範囲を選択しました。

ArrowSecondSample

2番目のサンプル領域を選択した後、「最大検索」ボタンをクリックしてマクロを実行します。選択した領域に条件付き書式が適用され、セルC11には選択した領域の最大値(92)が含まれているため、紫色で強調表示されます。

ArrowSecondSampleOutput

2つの異なるサンプルに対してマクロを実行した後、条件付き書式が両方に適用されます。サンプルデータでは、セルC11とD16の両方が、それぞれのサンプルの最大値を表すため、紫色で強調表示されます。

ArrowFinalOutput

いずれかのサンプルの値が変更され、新しく挿入された値の1つが最大値である場合、その特定の値を持つセルが強調表示されます。

コードの説明

Selection.FormatConditions.Delete上記のコードは、選択したデータに適用されている条件付き書式を削除するために使用されます。

Selection.FormatConditions.Add Type:= xlExpression、Formula1:= _ “=”&Selection.Cells(1).Address(False、False)& “= MAX(”&Selection.Address& “)”

上記のコードは、新しい条件付き書式を追加するために使用されます。タイプは、式を使用して条件のフォーマットを適用することを指定します。式の式はFormula1で定義されています。

Selection.Cells(1).Address(False、False)

上記のコードは、選択範囲の最初のセルのアドレスを参照するために使用されます。

“=”&Selection.Cells(1).Address(False、False)& “= MAX(”&Selection.Address& “)”

上記のコードは、最初に選択されたセルの値を選択の最大値と比較するために使用されます。

Selection.FormatConditions(1).Interior.ColorIndex = 39上記のコードは、フォーマットの条件を満たすセルに紫色を割り当てるために使用されます。

コードについては以下に従ってください

Sub ConditionalFormat()

With Selection

'Delete any previous conditional formatting

.FormatConditions.Delete



'add conditional formatting to selected cell

.FormatConditions.Add Type:=xlExpression, Formula1:= _

"=" & Selection.Cells(1).Address(False, False) & "=MAX(" & Selection.Address & ")"



'Assigning Violet color for the conditional formatting

.FormatConditions(1).Interior.ColorIndex = 39



End With





End Sub

このブログが気に入ったら、FacebookやFacebookで友達と共有してください。

皆様からのご意見をお待ちしております。私たちの仕事を改善し、あなたのために改善する方法をお知らせください。 [email protected]までご連絡ください