运行代码时没有任何反应

时间:2016-11-07 16:30:38

标签: excel vba

我从这个陈述中得不到任何结果,而且我对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

事先谢谢

1 个答案:

答案 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
相关问题