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)
2条答案
按热度按时间o0lyfsai1#
必须按照您描述的顺序进行吗?
如果您使用所附链接"VBA to get value from closed file"中的建议添加GetValue函数(make public)以从测试工作簿中检索信息,您将获得:
在测试工作簿中:
在REPORT工作簿的Sheet1单元格L9中使用GetValue()函数:
其中
dbf7pr2w2#
您不需要使用vba来执行此操作。在单元格
Sheet1!L9
中输入公式若要在VBA中执行此操作,请使用
注意:必须包含文件扩展名,并且工作簿必须处于打开状态。
编辑:
Sum_Visible_Cells
不是工作表函数。尝试以下操作(假设代码位于工作簿
Test
中)从你的评论
Range("M2:M)
,我猜你想从总数中排除第1行。只要
M1
不是数值,就可以对整列求和。如果第1行 * 是 * 数值,而您想排除它,请尝试