Excel 如何从不同的行开始将列复制并粘贴到不同的工作簿中?使用VBA

Excel 如何从不同的行开始将列复制并粘贴到不同的工作簿中?使用VBA,excel,vba,intersect,Excel,Vba,Intersect,这是迄今为止我的VBA代码: Sub refreshActionLog() 'Dim current As Worksheet 'Dim source As Workbook 'Dim sourcesheet As Variant Application.ScreenUpdating = False Set current = ThisWorkbook.Worksheets("Log") Set source = Workbooks("G:\Data\Shared\Action Logs\me

这是迄今为止我的VBA代码:

Sub refreshActionLog()
'Dim current As Worksheet
'Dim source As Workbook
'Dim sourcesheet As Variant
Application.ScreenUpdating = False

Set current = ThisWorkbook.Worksheets("Log")
Set source = Workbooks("G:\Data\Shared\Action Logs\merged.xlsx").Worksheets("merged")

With Intersect(source.Sheets("merged").Columns("A:I"), source.UsedRange)
     .Columns("A").Copy Destination:=current.Range("A6")
     .Columns("B").Copy Destination:=current.Range("B6")
     .Columns("C").Copy Destination:=current.Range("C6")
     .Columns("D").Copy Destination:=current.Range("D6")
     .Columns("E").Copy Destination:=current.Range("E6")
     .Columns("G").Copy Destination:=current.Range("F6")
     .Columns("H").Copy Destination:=current.Range("G6")
     .Columns("H").Copy Destination:=current.Range("H6")
     .Columns("I").Copy Destination:=current.Range("I6")
End With
End Sub
我在以下行中得到错误“运行时错误'9:下标超出范围”:

Set source = Workbooks("G:\Data\Shared\Action 
Logs\merged.xlsx").Worksheets("merged")  
此外,“相交”是从特定行开始复制和粘贴列的最佳方式。我不知道,因为由于运行时错误,我的代码将无法继续


任何帮助都将不胜感激。

在进行任何复制之前,请打开您的
merged.xlsx

Set source = Workbooks.Open("G:\Data\Shared\Action Logs\merged.xlsx")
现在设置工作表:

Dim sourceSheet as Worksheet: Set sourceSheet = source.Worksheets("merged")
现在你可以复印了

sourceSheet.Range("A:I").Copy current.Range("A6")
我还没有测试过这段代码,所以可能会有一些语法错误,但这是一般的要点

注意:不要忘记关闭“源”工作簿