Excel 如何随循环更改而更改范围-运行时错误';1004';:应用程序定义或对象定义错误

Excel 如何随循环更改而更改范围-运行时错误';1004';:应用程序定义或对象定义错误,excel,vba,Excel,Vba,我正在尝试浏览工作表(粘贴在此处),并将名称与工作表(细分)匹配。当两个名称匹配时,我需要将范围从工作表(粘贴到此处)复制到工作表(分解)中。由于某些原因,我得到一个运行时错误,不允许我使用当前范围进行复制和粘贴 Sub Stats() Dim Row As Integer Dim RowP As Integer Dim Col As Integer For Row = 2 To 200 For RowP = 2 To 200 If Worksheets("Paste

我正在尝试浏览工作表(粘贴在此处),并将名称与工作表(细分)匹配。当两个名称匹配时,我需要将范围从工作表(粘贴到此处)复制到工作表(分解)中。由于某些原因,我得到一个运行时错误,不允许我使用当前范围进行复制和粘贴

Sub Stats()

Dim Row As Integer
Dim RowP As Integer
Dim Col As Integer

For Row = 2 To 200
    For RowP = 2 To 200
        If Worksheets("PasteHere").Cells(RowP, 2) = Worksheets("Breakdown").Cells(Row, 2) Then 
            Worksheets("PasteHere").Range("IRowP:CRRowP").Copy Worksheets("Breakdown").Range("IRow:CRRow")
        End If    
    Next RowP
Next Row

MsgBox "Done"

End Sub
使用Row和RowP变量时,必须跳出双引号vba字符串并使用&字符进行连接。

范围(“I”&RowP&“:CR”&RowP)
,以及
范围(“I”&Row&“:CR”&Row)
。我肯定在这里的某个地方有一个重复的问题,所以:)

Dim Row As Integer
Dim RowP As Integer
Dim Col As Integer

For Row = 2 To 200
    For RowP = 2 To 200
        If Worksheets("PasteHere").Cells(RowP, 2) = Worksheets("Breakdown").Cells(Row, 2) Then 
            Worksheets("PasteHere").Range("I" & RowP & ":CR" & RowP).Copy Worksheets("Breakdown").Range("I" & Row & ":CR" & Row)
        End If    
    Next RowP
Next Row

MsgBox "Done"

End Sub