Ошибка 1004 функции и выбор нескольких столбцов - PullRequest
0 голосов
/ 22 апреля 2020

У меня проблемы с указанием c ячеек на основе определенного значения.

Идея состоит в том, что если ячейка в «B» содержит 119, то столбцы «B: E», «G: H» "," J: M "выделены и скопированы в другой раздел того же листа. Я не хочу, чтобы команда строк выделяла всю строку, поскольку есть ячейки с формулами, которые я не хочу перемещать.

Дополнительно отображается ошибка 1004: ошибка определения объекта, и я изо всех сил пытаюсь увидеть какая часть вызывает функцию.

Любая помощь будет очень ценной

Dim r As Long, endRow As Long, pasteRowIndex As Long, y As Range

endRow = 31 ' last row
pasteRowIndex = 67 ' paste row
Set y = ActiveSheet.Range("B:E,G:H,J:M")

For r = 1 To endRow 'Loop through sheet1 and search for your criteria

    If Cells(r, Columns("B").Column).Value = "119" Then 'Found

            'Copy the current row
            Rows(r, y).Select
            Selection.Copy

            'Switch to the row where i want to paste it & paste

            Rows(pasteRowIndex).Select
            ActiveSheet.Paste

            'Next match
            pasteRowIndex = pasteRowIndex + 1



    End If
Next r
End Sub```

1 Ответ

0 голосов
/ 22 апреля 2020

Возможно, вот так, хотя не уверен, вставляешь ли ты в А67 вниз?

Sub x()

Dim r As Long, endRow As Long, pasteRowIndex As Long, y As Range

endRow = 31 ' last row
pasteRowIndex = 67 ' paste row

Set y = ActiveSheet.Range("B:E,G:H,J:M")

For r = 1 To endRow 'Loop through sheet1 and search for your criteria
    If Cells(r, "B").Value = 119 Then 'Found
        'Copy the current row
        Intersect(y, Rows(r)).Copy Cells(pasteRowIndex, 1) 'not sure about this destination
        pasteRowIndex = pasteRowIndex + 1
    End If
Next r

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