Скопируйте ячейки в столбце M, начинающиеся с «xx», и вставьте их в другой лист. - PullRequest
0 голосов
/ 28 января 2019

Я пытаюсь создать кнопку, которая найдет все ячейки в столбце H, начиная с rm, и скопирует их с одного листа на другой.

sheet2 столбец M перейдет на лист 1, столбец A

Dim i As Variant
Dim rng As Range

Set x = Range("m" & i)

If Left(rng.Value, 2) = "rm" Then
For Each i In x
Worksheets("scope sheet").Range("A5").Value = Range(i)
Next i
End If

это выдает ошибку "метод" range "объекта '_global' fail."

если я добавлю оператор With, то получу"индекс вне диапазона".

Кто-нибудь знает обходной путь.

1 Ответ

0 голосов
/ 28 января 2019

Вам нужно использовать Left(Range, 2) и внести некоторые изменения в вашу структуру цикла.В настоящее время код циклично выполняется от второй строки до последней использованной строки ( lr )

Option Explicit

Sub test()

Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet2") '<-- UPDATE SHEET
Dim i As Long, LR As Long

LR = ws.Range("M" & ws.Rows.Count).End(xlUp).Row

For i = 2 To LR
    If Left(ws.Range("M" & i), 2) = "rm" Then
        ThisWorkbook.Sheets("Sheet1").Range("A" & i).Value = ws.Range("M" & i).Value
    End If
Next i

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