VBA - 需要复制粘贴宏帮助

时间:2015-06-12 17:41:14

标签: excel-vba vba excel

需要一个宏的帮助,该宏将打开5个不同的csv文件并自动自动复制粘贴3列数据(从第2行开始到大约第200行)。然后数据将被粘贴到一个打开的工作表中,因此每个文件都在一行(并排)...任何帮助将不胜感激..

Sub Macro2() 
    'Assign variable name to Target workbook 
    Var1 = ActiveWorkbook.Name 
    'Assign variable name to Target range 
    Var1R = "H1" 
    'Open Source WorkBook 
    Application.Workbooks.Open ("C:\MY DOCUMENTS\WORKBOOK(B).xls") 
    'Assign variable name to Source workbook 
    Var2 = ActiveWorkbook.Name 
    Var2R = "WORKSHEET-1" 
    'Copy from Source to Target 
    Sheets(Var2R).Columns("F").EntireColumn.Copy _     
    Destination:=Workbooks(Var1).Sheets("Sheet1").Range(Var1R) 
    'Close Source WorkBook wo/Save 
    Workbooks(Var2).Close False 
End Sub

1 个答案:

答案 0 :(得分:1)

这是一个可以做到这一点的程序。显然你必须修改文件路径和范围。

Sub copy_paste()
Dim filepaths
Dim twb As Workbook
Dim x As Long

Set twb = ThisWorkbook
filepaths = Array("C:\A.csv", "C:\B.csv", "C:\C.csv", "C:\D.csv", "C:\E.csv")

For x = 1 To UBound(filepaths)+1
    With Workbooks.Open(filepaths(x-1))
        .Sheets(1).Range("A2:C200").Copy twb.Sheets(1).Cells(2, 3 * x - 2)
        .Close False
    End With
Next x

End Sub
相关问题