Excel 使用变量将范围从一张图纸复制到另一张图纸

Excel 使用变量将范围从一张图纸复制到另一张图纸,excel,vba,range,Excel,Vba,Range,这是我的代码: If AssociateNameArray(ArrayLoop) = ThisWorkbook.Sheets(i).Cells(3, CompareCounter).Value Then If i = 2 Then Sheets(i).Range(CompareCounter & "6:" & CompareCounter & "12").Copy Destination:=Sheets(1).Range((ArrayLoop +

这是我的代码:

If AssociateNameArray(ArrayLoop) = ThisWorkbook.Sheets(i).Cells(3, CompareCounter).Value Then
    If i = 2 Then
        Sheets(i).Range(CompareCounter & "6:" & CompareCounter & "12").Copy Destination:=Sheets(1).Range((ArrayLoop + 4) & "2")
        Sheets(i).Range(CompareCounter & "14:" & CompareCounter & "28").Copy Destination:=Sheets(1).Range((ArrayLoop + 4) & "9")
        CompareCounter = CompareCounter + 1
    End If
End If
它给

1004错误


基本上,我正在遍历一个设置范围,其中CompareCounter是列号。(愚蠢的名字,我知道)我在一个数组中有名字,它将数组的值与行中的单元格进行比较,当它找到匹配项时,它会将设置的范围复制回主页上某一行的人员列。此人的列号应为ArrayLop+4,因为它们从E列开始。我将浏览每个表(I),当我找到匹配项时,我将从该表中获取范围并将其复制到主页。

这就是导致1004错误的原因:
范围((ArrayLop+4)和“2”)

如果
ArrayLoop
是4,那么一旦它被计算为某个值,那么它看起来像是
Range(52)
,这是无效的范围,返回
1004


一般来说,试着用F8一步一步地调试代码,并始终查看变量的值。

请参阅如何进行调试。任何人都能够复制和粘贴代码并看到相同的错误,这一点非常重要。我确实使用了F8,但它就在这一行退出并重置了我所有关注的变量。我不能在范围函数内设置该操作吗?我是否需要将4添加到范围函数之外的变量?@Country\u Gravy-查看范围对象-。它应该类似于
Range(“A:”&(ArrayLoop+4)和“2”)
才能成为有效的。例如,一旦解决,它应该是
范围(“A52”)
或有效的东西。