ユーザ定義関数

コード


Function 串刺し合計(ByVal mySheet As String, ByVal myRange As String)
'例:=串刺し合計("Sheet","A1")→「Sheet」文字列を含むシートの「A1」セルを合計

    Application.Volatile    'コメント
    Dim curSheet As Object
    Dim myResult As Long
    For Each curSheet In Sheets
        If StrConv(curSheet.Name, vbNarrow) Like "*" & StrConv(mySheet, vbNarrow) & "*" Then
            myResult = myResult + curSheet.Range(myRange).Value
        End If
    Next curSheet

    串刺し合計 = myResult
    
End Function

解説

引数1にシート名、引数2にセル(例:"A1")を指定する。
シート名に引数1の内容を含むシートの引数2に指定したセルの合計を返り値とする。