复制以“ xx”开头的M列中的单元格,然后将其粘贴到另一张工作表中

时间:2019-01-28 20:39:30

标签: excel vba

我正在尝试创建一个按钮,该按钮将查找以rm开头的H列中的所有单元格,并将它们从一张纸复制到另一张纸上。

sheet2 column M 会去 sheet 1 column 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

这将导致错误“对象'_global'的方法'范围'失败。”

如果我添加一个With语句,则会得到“下标超出范围”。

有人知道解决方法吗?

1 个答案:

答案 0 :(得分:0)

您需要使用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