これを行うのにvbaは必要ありません。セルSheet1!L9
に数式を入力します
=SUBTOTAL(109,'Raw Data'!$M:$M)
VBAでそれを行うには
Application.Workbooks("Report.xlsm").Worksheets("Sheet1").Range("L9") = "Result of your function"
注:ファイル拡張子を含める必要があり、ブックが開いている必要があります。
編集:
Sum_Visible_Cells
ワークシート関数ではありません。
これを試してください(コードがワークブックにあると仮定しますTest
)
Application.Workbooks("Report.xlsm").Worksheets("Sheet1").Range("L9") = _
Application.WorksheetFunction.Subtotal(109, ThisWorkbook.Worksheets("Raw Data").Columns(13))
あなたのコメントから、あなたRange("M2:M)
は合計から行1を除外したいと思います。
数値の合計でない限り、M1
列全体で問題ありません。行1が数値であり、それを除外する場合は、
Dim rng as Range
With ThisWorkbook.Worksheets("Raw Data")
Set rng = .Range(.Cells(2,13), .Cells(.Rows.Count, 13).End(xlUp))
End With
Application.Workbooks("Report.xlsm").Worksheets("Sheet1").Range("L9") = _
Application.WorksheetFunction.Subtotal(109, rng)