ユーザー定義関数をアドインにする 実験 Excl2000 VBA [Excel2000 VBA独習]
ユーザー定義関数をアドインにする 実験 Excl2000 VBA
範囲の背景色が有るセルの個数を調べるマクロ「関数名 BGColorCount(範囲) 」
Function BGcolorCount(celR As Range)
Dim myR As Range
Dim x As Long
x = 0
For Each myR In celR
'背景色が白でなければカウントを+1
If myR.Interior.Color <> RGB(255, 255, 255) Then x = x + 1
Next myR
BGColorCount = x
End Function
Dim myR As Range
Dim x As Long
x = 0
For Each myR In celR
'背景色が白でなければカウントを+1
If myR.Interior.Color <> RGB(255, 255, 255) Then x = x + 1
Next myR
BGColorCount = x
End Function
アドイン化(アドイン化するメリット、全てのブックで使用できる)
上記のマクロをブックに追加する
「名前を付けて保存」でファイルの種類で拡張子xlaを選択し、名前を付けて保存する。(例 背景色カウント.xla)
アドインとして追加
メニューバーのツール→アドインを選択し、アドインダイアログが表示されたら、右側の「参照」参照ボタンを押し先ほど保存した***.xlaを選択して追加する。
Excelで利用するには、BGcolorCount(A1:A10) のようにセルに記入する。(A1からA10)の範囲の背景色のあるセルの個数を計算する。
ユーザー定義関数は自動で計算しないので、再計算する必要がある(Ctrl+Alt+F9)や下記のマクロを実行する。
ユーザ定義関数(アドイン)を再計算するマクロ(ブック全体)
Sub 再計算()
Application.CalculateFull
End Sub
ユーザ定義関数(アドイン)を再計算するマクロ(シートだけ))
Sub 再計算()
Application.Calculate
End Sub
Sub 再計算()
Application.CalculateFull
End Sub
Sub 再計算()
Application.Calculate
End Sub
ワークシートイベントとして下記のマクロをシートに追加すれば、自動計算風になるかも
(セルの選択を替えた時に再計算を実行する)
(セルの選択を替えた時に再計算を実行する)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.CalculateFull
End Sub
コメント 0