我在行开始时收到“下标超出范围”:Sheets(“Sheet1”) . Cells(“A”,i).EntireRow.Copy . 如何将行复制并粘贴到Sheet2中的第一个打开行 .
Sub IDwalkups()
Dim endRow As Long
Dim Match1() As Variant
Dim ws As Worksheet
Set ws = Worksheets("Sheet1")
ICount = 0
endRow = Sheet1.Range("B999999").End(xlUp).Row
Match1 = Sheet1.Range("E3:E" & endRow)
For i = LBound(Match1) To UBound(Match1)
If Match1(i, 1) = "W" Then
Sheets(“Sheet1”).Cells("A", i).EntireRow.Copy Destination:=Sheets (“Sheet2”).Range(“A” & Rows.Count).End(xlUp).Offset(1)
Else
End If
Next i
End Sub
2 回答
你遇到的三个错误是:
使用
“
和”
而不是"
. 例如,“Sheet1”
是有效的 variable name ,可以在“Sheet1” = 5 * 2
等语句中使用 . 从语法上讲,它与"Sheet1"
完全不同,后者是一个字符串文字 .使用
Cells("A", i)
而不是Cells(i, "A")
-Cells
的第一个参数是行,第二个参数是列 .使用
Rows.Count
时不符合您所指的是哪个表格(但这很可能无论如何都有效)所以
本来应该
我看到2个错误 . 首先,复制和粘贴是两个步骤(2个命令) . 其次,如果使用
Cells
,则必须将行和列指定为Number-Parameter . 你必须将它改为Range
.