【问题标题】:Excel-VBA: Pull data from multiple closed workbooks with filename starting with "xxx"Excel-VBA:从文件名以“xxx”开头的多个已关闭工作簿中提取数据
【发布时间】:2017-08-28 09:08:19
【问题描述】:

我想制作一个宏,将数据从多个关闭的工作簿中提取到这个 (ThisWorkbook) 工作簿中。

所有关闭的工作簿都在同一个文件夹中 - 但也有不应该从中提取数据的文件。

所以只有文件名中以“0101”开头的文件。

我想从 FIRST 工作簿的第一张工作表中的 A1:D18 复制数据并将其粘贴到活动工作表上的 ThisWorkbook 单元格 A1 中。其余的我只想复制 C3 并将其放入变量中。如果有多个文件,那么它应该将所有 C3 值组合到同一个变量中。

这可能吗?

非常感谢您!

【问题讨论】:

  • 我并没有真正尝试过。我不知道这样做的方法。我知道如何复制和粘贴等等。但是循环/数组并不是我很了解的东西。然而,
  • 我们不会为您编写代码,但是当您遇到代码中的某个点时我们会为您提供帮助。搜索有关此主题的一些教程并尝试您在其中找到的示例代码。如果您遇到问题,请使用相关代码、当前行为(错误等)、所需行为以及您迄今为止尝试解决的问题来更新您的问题。

标签: vba excel


【解决方案1】:

这将打开所有以 0101 开头的 Excel 文件:

Sub StringLoopOpen()

Dim folder As String
Dim file As String

folder = "C:\foo\bar"
file = Dir(folder & "\0101*.xlsx")

Do While file <> ""
Workbooks.Open Filename:=folder & "\" & file
file = Dir
Loop

End Sub

如果您需要执行其他任务(例如移动数据、关闭文件等),请在“do while”和“loop”之间执行。

【讨论】:

    【解决方案2】:

    从下面的链接下载并安装插件。

    https://www.rondebruin.nl/win/addins/rdbmerge.htm

    请不要对此投反对票。它将完全按照 OP 的要求进行操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-22
      • 2022-08-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多