从目录中已关闭的工作簿中获取单元格值 - 如何遍历所有现有文件?

测试员_Y

当我指定目录时,我有一个工作代码来检索关闭的工作簿中的特定单元格。我试图让这段代码遍历所述目录中的所有现有工作簿,从每个文件中检索相同的单元格。

这是我到目前为止的循环代码(我也包括使用的函数):

Private Function GetValueFromClosedWorkbook(path, file, sheet, ref)    
    Dim arg As String, xFolder As String

    If Right(path, 1) <> "\" Then path = path & "\"

    If Dir(path & file) = "" Then
        GetValueFromClosedWorkbook = "File not found."
        Exit Function
    End If

    arg = "'" & path & "[" & file & "]" & sheet & "'!" & _
    Range(ref).Address(, , xlR1C1)         'create the argument
    GetValueFromClosedWorkbook = ExecuteExcel4Macro(arg)
End Function


Sub TestGetValueFromClosedWorkbook()        
    Dim p As String, xFolder As String        
    Dim s As String, a As String, f(1 To 2) As String, z As Long

    xFolder = "\\generic path"

    For z = 1 To 2
        s = "Sheet1"
        a = "A1"
        p = xFolder '& "\*.xlsx"
        f(z) = Dir(p & "\*.xlsx")  

        Do While f(z) <> ""
            ActiveSheet.Range("A" & (z + 7)) = GetValueFromClosedWorkbook(p, f(z), s, a)   
            f(z) = Dir()
        Loop
    Next z
End Sub

这将获得正确的单元格,然后粘贴到单元格 A8 中的活动工作表中。

唯一的问题是当它遍历第二个文件时,它仍然从第一个文件中获取单元格。为什么会这样?或者如何确保第二个循环从第二个工作簿中检索单元格?

晶圆厂

循环有点混乱,你正在覆盖这些值。请参阅以下更正代码:

Sub TestGetValueFromClosedWorkbook()

    Dim p As String, xFolder As String

    Dim s As String, a As String, f As String, z As Long

    xFolder = "\\generic path"

    s = "Sheet1"
    a = "A1"
    p = xFolder '& "\*.xlsx"

    f = Dir(p & "\*.xlsx")
    Do While f <> ""

        ActiveSheet.Range("A" & (z + 7)) = GetValueFromClosedWorkbook(p, f, s, a)

        f = Dir()
        z = z + 1
    Loop
End Sub

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

修剪工作簿(VBA)中的所有单元格

来自分类Dev

在整个工作簿中的所有工作表中的所有单元格上执行代码

来自分类Dev

如何使此脚本循环遍历目录中的所有文件?

来自分类Dev

如何创建和命名引用工作簿中单元格的Excel工作表

来自分类Dev

如何使用aspose从单元格中获取所有下拉列表(listBox)的值

来自分类Dev

将其他工作表中的所有excel单元格值与参考(单元格值)同步

来自分类Dev

保存在新工作簿中时,仅对具有公式的单元格进行单元格保护

来自分类Dev

Excel VBA-遍历单元格列并在工作簿中搜索每个单元格值

来自分类Dev

如何遍历所有目录中的所有文件并仅获取文件类型?

来自分类Dev

在工作表的所有单元格中更改工作簿引用

来自分类Dev

将提交的值添加到Google工作表中的现有单元格值

来自分类Dev

如何遍历所有工作表以获取单元格值以创建下拉框?

来自分类Dev

循环遍历文件中的所有变量

来自分类Dev

如何告诉ffmpeg依次遍历目录中的所有文件

来自分类Dev

如何将ListAdapter的值获取到工作簿单元格

来自分类Dev

如何使此脚本循环遍历目录中的所有文件?

来自分类Dev

如何根据条件获取其他工作表中的单元格值?

来自分类Dev

无法遍历目录中的所有文件

来自分类Dev

如何使用aspose从单元格中获取所有下拉列表(listBox)的值

来自分类Dev

如何遍历所有子目录中的文件?

来自分类Dev

Excel-从所有工作表的单元格中获取数据(如果文本匹配)

来自分类Dev

来自封闭工作簿的Excel单元格引用,使用单元格中的文件名

来自分类Dev

如何遍历DataGridView中多个选定行中的所有单元格?

来自分类Dev

CL:如何遍历库中的所有物理文件?

来自分类Dev

如何在多个工作簿中搜索单元格信息 - 升级?

来自分类Dev

在使用 VBA 的 XL 中,是否有一种简单的方法来遍历工作簿中的每个表并将每个单元格值设置为 0?

来自分类Dev

如何遍历文件夹内所有工作簿中的所有工作表

来自分类Dev

如何使用节点中的“xlsx”包从工作簿中的给定 .xlsx 工作表中提取单元格值?

来自分类Dev

DataTables:遍历所有行并从每行的特定单元格中获取值

Related 相关文章

  1. 1

    修剪工作簿(VBA)中的所有单元格

  2. 2

    在整个工作簿中的所有工作表中的所有单元格上执行代码

  3. 3

    如何使此脚本循环遍历目录中的所有文件?

  4. 4

    如何创建和命名引用工作簿中单元格的Excel工作表

  5. 5

    如何使用aspose从单元格中获取所有下拉列表(listBox)的值

  6. 6

    将其他工作表中的所有excel单元格值与参考(单元格值)同步

  7. 7

    保存在新工作簿中时,仅对具有公式的单元格进行单元格保护

  8. 8

    Excel VBA-遍历单元格列并在工作簿中搜索每个单元格值

  9. 9

    如何遍历所有目录中的所有文件并仅获取文件类型?

  10. 10

    在工作表的所有单元格中更改工作簿引用

  11. 11

    将提交的值添加到Google工作表中的现有单元格值

  12. 12

    如何遍历所有工作表以获取单元格值以创建下拉框?

  13. 13

    循环遍历文件中的所有变量

  14. 14

    如何告诉ffmpeg依次遍历目录中的所有文件

  15. 15

    如何将ListAdapter的值获取到工作簿单元格

  16. 16

    如何使此脚本循环遍历目录中的所有文件?

  17. 17

    如何根据条件获取其他工作表中的单元格值?

  18. 18

    无法遍历目录中的所有文件

  19. 19

    如何使用aspose从单元格中获取所有下拉列表(listBox)的值

  20. 20

    如何遍历所有子目录中的文件?

  21. 21

    Excel-从所有工作表的单元格中获取数据(如果文本匹配)

  22. 22

    来自封闭工作簿的Excel单元格引用,使用单元格中的文件名

  23. 23

    如何遍历DataGridView中多个选定行中的所有单元格?

  24. 24

    CL:如何遍历库中的所有物理文件?

  25. 25

    如何在多个工作簿中搜索单元格信息 - 升级?

  26. 26

    在使用 VBA 的 XL 中,是否有一种简单的方法来遍历工作簿中的每个表并将每个单元格值设置为 0?

  27. 27

    如何遍历文件夹内所有工作簿中的所有工作表

  28. 28

    如何使用节点中的“xlsx”包从工作簿中的给定 .xlsx 工作表中提取单元格值?

  29. 29

    DataTables:遍历所有行并从每行的特定单元格中获取值

热门标签

归档