Как изменить диапазон при изменении цикла - Ошибка времени выполнения «1004»: ошибка определения приложения или определения объекта - PullRequest
0 голосов
/ 28 октября 2019

Я пытаюсь просмотреть лист (PasteHere) и сопоставить имя с листом (разбивка). Когда два имени совпадают, мне нужно скопировать диапазон из рабочей таблицы (PasteHere) и вставить в рабочую таблицу (разбивка). По какой-то причине я получаю ошибку времени выполнения, которая не позволяет мне использовать текущий диапазон для копирования и вставки.

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

1 Ответ

0 голосов
/ 28 октября 2019

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

Когда вы используете переменные Row и RowP, вы должны выпрыгнуть из строки vba в двойных кавычках и использовать символ & для конкататации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...