【发布时间】:2019-10-03 01:23:23
【问题描述】:
我正在尝试使用 excel VBA 从已关闭的工作簿中提取信息,更具体地说,将已关闭的 excel 工作簿中的一系列数字的总和提取到我当前的 excel 工作簿中。
我已尝试以下代码:
我想找到从 Z8 到列中最后一个 Z 单元格的值的总和。
Range("D4").Formula = "Sum('I:\Outgoing\Money Outgoing\'!$Z8:$Z)"
Set wkbk = Workbooks.Open("I:\Outgoing\Money Outgoing.xlsx\")
Range("Z7").Select
ActiveCell.FormulaR1C1 = "=SUM(Z8:Z10000)"
Range("D4").Value = GetInfoFromClosedFile(a, f, d, "Z6")
我不想打开已关闭的工作簿 excel文件是Money Outgoing.xlsx 文件中只有 1 个选项卡。选项卡名称为布局 1
【问题讨论】:
-
我会避免像这样链接工作簿。
I:是映射网络驱动器吗?如果有人将其重命名为Money Outgoing 2019-2020.xlsx怎么办?你可以试试Sheet1.Range("D4").Formula = "=Sum('[I:\Outgoing\Money Outgoing.xlsx]Layout 1'!$Z8:$Z10000)"。也见avoid Select and Activate。祝你好运! -
感谢 Mathieu,避免引用 Z10000 而是引用最后一个 z 单元格,是 $Z8:$Z 吗?
-
不,如果不打开文件 AFAIK,您将无法执行此操作。就 Excel 而言,
$Z8:$Z是一个语法错误。 -
谢谢马修!这有很大帮助。如果可能的话,如果你有时间,你能看看我的另一个帖子吗?