我从这个陈述中得不到任何结果,而且我对Excel中的VBA非常陌生。请帮我理解原因。
Sub Import()
Dim i As Integer
For i = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
If sheet1.Cells(i, 1).Value > 99 And sheet1.Cells(i, 1).Value < 10000 Then
sheet1.Range("A" & i).Copy
Sheet2.Range("A" & i).PasteSpecial
End If
Next i
End Sub
事先谢谢
答案 0 :(得分:1)
此
Dim sheet1 As sheet1
应该是
Dim sheet1 as Worksheet
与sheet2相同:)
您还需要为这些对象分配,否则您将收到Object Required错误,例如:
Set sheet1 = Worksheets("your sheet name")
Set sheet2 = Worksheets("some other sheet name")
另外:你不能Then ... And ...
。
And
是一个逻辑运算符,用于布尔表达式。它没有在If
块内连接两个表达式。相反,这样做:
If sheet1.Cells(i, 1).value > 99 And sheet1.Cells(i, 1).value < 10000 Then
sheet1.Range("A" & i).Copy
sheet2.Range("A" & i).PasteSpecial
End If