VBA代码中的For循环

VBA代码中的For循环,vba,excel,for-loop,Vba,Excel,For Loop,注意:我可以上传一个链接到评论中的图片 我在excel宏中使用for循环来编译数据 我有以下VBA代码: Sub MoveData() ' ' MoveData Macro ' ' Dim rng As Range Set rng = Macro.Application.Range("R1:X1000") With rng For i = 1 To 200 a = 5 * i b = i + 1 Range(a, 18).Selec

注意:我可以上传一个链接到评论中的图片

我在excel宏中使用for循环来编译数据

我有以下VBA代码:

Sub MoveData()
'
' MoveData Macro
'

'
Dim rng As Range
Set rng = Macro.Application.Range("R1:X1000")
With rng


    For i = 1 To 200
        a = 5 * i
        b = i + 1

        Range(a, 18).Select
        Selection.Copy
        Range(b, 3).Select
        ActiveSheet.Paste

    Next i

End With

End Sub
我收到以下错误消息: 运行时错误“424”:

所需对象


如有任何澄清,将不胜感激!我在这件事上被难住了好一阵子

像这样尝试,并确保您的值在activesheet上

Sub MoveData()

    Dim rng As Range

    Set rng = ActiveSheet.Range("R1:X1000")

    With rng
        For i = 1 To 200
            a = 5 * i
            b = i + 1

            Debug.Print "copying from =>" & .Cells(b, 3).Address
            Debug.Print "copyting to =>" & .Cells(a, 18).Address

            Stop 'and take a look at the immediate window
            ' what is there?

            .Cells(b, 3) = .Cells(a, 18)
        Next i
    End With

End Sub

复制和粘贴是否在同一张纸上?这些范围
Range(a,18)
Range(b,3)
始终是相同的?请尝试将此
宏.Application.Range
更改为此
ActiveSheet.Range
是的,我正在复制并粘贴到同一页中。我将始终从列R:X复制并粘贴到列C:I@braX当我进行更改时,会收到一条新的错误消息,运行时错误“1004”:对象“\u Global”的方法“Range”失败。这里是指向屏幕截图的链接。我希望顶部的照片看起来像底部的照片。出于某种原因,这似乎删除了我数据的t列。@Emma-请重新编写代码。每次代码停止时查看即时窗口。每一轮,它都会打印出来:从=>$T$2复制到=>$AI$5Ok。然后试着根据您的需要调整一下,方法是更改
a
b
3
18
,@emma非常感谢!(我是新来的!)