Excelmacros打开Excel工作簿的文件夹并复制1个单元格

我有一个.xlsx文件的文件夹,每个文件在布局上相同。

我需要在excel中编写一个macros,依次打开每个文件(100多个文件),然后从单个单元格中获取数据(名称),然后将其放在新的excel工作表中,移至下一个并插入下面最后一个等

给我一个基本的数据名称列表而不是文件名)

这是(几乎)正是你想要做的。 下一次在你问之前做一点点的谷歌search! 🙂

http://www.excel-easy.com/vba/examples/files-in-a-directory.html

粗糙的代码不能保证它可以正常工作:但是这里给出了我发送给你的例子中需要修改的基本概念。 如果再看一下这个例子,它会完成你需要的一切,然后完成一些。 由于您对所有工作表不感兴趣,因此不必遍历工作簿中的所有工作表。 您可以打开它,读取您感兴趣的单元格,然后closures它。 Do While循环将为您的目录中的每个Excel文件执行此操作。 再次! 请在使用之前相应地修改此示例。

Dim directory As String, fileName As String, sheet As Worksheet, i As Integer, j As Integer Application.ScreenUpdating = False directory = "c:\test\" fileName = Dir(directory & "*.xl??") Do While fileName <> "" i = i + 1 Workbooks.Open (directory & fileName) Workbooks("files-in-a-directory.xls").Worksheets(1).Cells(i, 1).Value = Workbooks(fileName).Worksheets(1).Cells(x, y) <-- whatever your cell of interest is Workbooks(fileName).Close fileName = Dir() Loop Application.ScreenUpdating = True