Excel VBA - 评估函数返回#VALUE!错误

问题描述 投票:0回答:1

我正在 Excel 中编写一个 VBA 宏,以使用 200 多个已关闭工作簿中的数据填充“摘要”工作簿。我写了以下内容,但得到了#VALUE!填充的每个单元格中都有错误。

工作簿和子文件夹名称在“摘要”工作簿中有自己的列。

Sub PopulateTable()

    Dim i As Long, j As Long
    Dim Subfolder As Variant, Workbook As Variant
    
    For i = 3 To 225
        For j = 3 To 3
            Workbook = Cells(i, 1)
            Subfolder = Cells(i, 2)
            Cells(i, j) = Evaluate("https://website-my.sharepoint.com/Documents/" & Subfolder & "/[" & Workbook & " Roombook.xlsx]Setup'!$C$3")
        Next j
    Next i
    
End Sub

是什么导致了#VALUE!错误?对此有更好的或可行的解决方案吗?预先感谢。

我尝试过更改数据类型,但没有成功。

excel vba cell evaluate
1个回答
0
投票

有多种选项可以从封闭的工作簿(本地存储)中获取价值。我不确定它是否适用于 Sharepoint 共享文件。

本地工作簿文件为 D:emp\List.xlsx,未在 Excel 中打开。让我们尝试在不打开单元格 A1 的情况下获取它的值。


选项1:

单元格地址必须是RC风格。

ExecuteExcel4Macro("'D:\temp\[List.xlsx]Sheet1'!R1C1")

选项2:

在任何单元格上设置公式,如下所示,然后您可以使用 VBA 代码操作数据。

=INDEX('D:\Temp\[List.xlsx]PG'!$A$1:$A$1,1,1)

© www.soinside.com 2019 - 2024. All rights reserved.