我正在尝试创建一个按钮,该按钮将查找以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
语句,则会得到“下标超出范围”。
有人知道解决方法吗?
答案 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