简体   繁体   English

使用VBA循环复制和粘贴跨文件夹

[英]Copy and Paste across Folders in a loop with VBA

I am trying to write a loop that copies and pastes a range of data from one workbook to another. 我正在尝试编写一个循环,以将一系列数据从一个工作簿复制并粘贴到另一个工作簿。 I get stuck with the error 'Select Sheet method not proper' or whatever the error message is. 我被错误提示'Select Sheet method not proper'或任何错误消息。 This is what I have so far: 这是我到目前为止的内容:

folderpath="insert folder path here"
Filename = Dir(folderPath)
Do While Filename <> ""

Set wb = Workbooks.Open(folderPath & Filename)

wb.Worksheets("Outcomes & Factors Rankings").Select
Range("A3", Range("A3").End(xlDown).Offset(0, 6)).Copy
ThisWorkbook.Worksheets("OutcomeFactorRankings").Select
Range("A1").End(xlDown).Offset(1, 0).Select.Paste

wb.Close

Loop

Try to indent your code, you don't need all those selects in your code, simplify, something like that should solve your problem: 尝试缩进您的代码,您不需要在代码中进行所有选择,就可以简化您的问题,例如:

folderPath = "insert folder path here"
    Filename = Dir(folderPath)

    Do While Filename <> ""
        Set wb = Workbooks.Open(folderPath & Filename)
        wb.Worksheets("Outcomes & Factors Rankings").Range("A3", Range("A3").End(xlDown).Offset(0, 6)).Copy
        ThisWorkbook.Worksheets("OutcomeFactorRankings").Range("A1").End(xlDown).Offset(1, 0).Paste
        wb.Close
    Loop

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM