2

我有 300 个单独的工作簿,它们的格式相同,并且希望在每个工作簿中获取某些字段并写入一个工作簿,以便我可以将 infile 导入 SAS 并运行报告。我知道如何使用宏来进行简单的复制和粘贴,但你必须知道每本书的名称并打开它们,我有 300 个单独的工作簿,它们的名称都不同,因为它们是从不同的医院寄来的。

示例:我的书简称为宏 1 医院的书是 johnhopkins,另一本是 centralflorida 等等

一个可能的代码是:

johnhopkins.worksheets("sheet1").range("a1:g2").copy workbooks("macro.xslx").worksheets("sheet1").range("a1").insert shift:x1down

问题是我想复制和粘贴某些单元格,而不是所有在我提供给我的单个工作簿的工作簿中,我不确定如何从他们发送的内容中选择我想要的单元格。它们是实际的单元格 B5、b8、g13、i13、j13、k13、l13

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

然后另一个问题是工作簿的名称都不同,全部 300 个。是否有一个宏可以只复制我打开的工作簿而不每次都输入实际名称?

4

1 回答 1

0

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

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

您可以在不知道名称的情况下遍历工作表,然后将结果粘贴到“结果”工作表中现在,您只需复制您描述的范围,然后粘贴到另一张工作表中

玩得开心!

于 2013-03-14T19:15:25.707 回答