Excelmacros从多个工作簿写入单个

我有300个单独的工作簿格式相同,并希望在每个工作簿中写入特定的字段,以便我可以将一个infile导入到SAS并运行报告。 我知道如何做一个简单的复制和粘贴的macros,但你必须知道每本书的名称,并打开它们,我有300个单独的工作簿,因为它们是从不同的医院发送的,所以命名不同。

例如:我的书简称macros1医院书是约翰霍普金斯,另一个是中部佛罗里达等

一个可能的代码是:

(“sheet1”)。range(“a1:g2”)。复制工作簿(“macro.xslx”)。工作表(“sheet1”)。范围(“a1”)。insert shift:x1down

问题是我想要复制和粘贴某些单元格,而不是所有的工作簿中,我被授予我的单一工作簿,我不知道如何从他们正在发送select我想要的单元格。 它们是实体单元B5,b8,g13,i13,j13,k13,l13

我想在工作簿上将它们复制到a1到g2。

那么另外一个问题就是工作簿的命名都是不一样的,都是300个。 有没有一个macros,只是复制我打开的工作簿,而不是每次都把实际的名字?

你可以从这样的事情开始:

For i = 1 To Sheets.Count Sheets.Item(i).Select Range("A1:D10").Select Selection.Copy Sheets("Result").Select Range("A1").Select Selection.End(xlDown).Select ActiveSheet.Paste Next i 

您可以在不知道名称的情况下循环查看表格,并将结果粘贴到“结果”表格中。现在,您只需复制所描述的范围,然后粘贴到另一个表格

玩的开心!