首页 文章

Excel宏从多个工作簿写入单个

提问于
浏览
2

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

例如:我的书简称宏1医院书是johnhopkins,另一个是centralflorida等

一个可能的代码是:

johnhopkins.worksheets(“sheet1”) . range(“a1:g2”) . copy workbooks(“macro.xslx”) . 工作表(“sheet1”) . range(“a1”) . insert shift:x1down

问题是我想要复制并粘贴某些单元格,而不是我在工作簿中的所有单元格,我不知道如何从他们发送的内容中选择我想要的单元格 . 它们是实施单元B5,b8,g13,i13,j13,k13,l13

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

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

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
    

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

    玩得开心!

相关问题