Excel VBAでマクロを定義するときは
Sub foo() Dim rng As Range Set rng = Range("C52:C60") Debug.Print rng.Count End Sub
という感じだけど、このままだとワークシートから呼べない。
ワークシートから呼ぶためには、標準モジュール領域に、Functionとして定義する必要がある。こんな感じ。
Function 取り消し線のセルをカウント(src) Dim ret For i = 0 To src.Count Step 1 If src.Item(i).Font.Strikethrough Then ret = ret + 1 Next 取り消し線のセルをカウント = ret End Function
戻り値は定義した関数名のフィールドに入れる必要がある。