为什么此代码会导致“需要对象”错误?

时间:2014-01-20 10:54:46

标签: excel excel-vba vba

我在excel中将以下代码作为宏。我认为第二行声明了对象记录,然后第三行设置了它的值。但是,我总是得到一个“对象必需”错误。

Sub requiredFill()
  Dim records As Integer
  Set records = Sheets("Sheet 3").Range("B2").Integer

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

如果我尝试:

Set records = Sheets("Sheet 3").Range("B2").Integer

Set records = Sheets("Sheet 3").Range("B2").Value

我收到了对象所需的消息。

如果我尝试:

records = Sheets("Sheet 3").Range("B2").Value

我没有。如果您已移除Set,我不理解您的失败。

然而:

  • 您可以参考“表3”。你的意思是“Sheet3”。
  • 您的代码依赖于包含整数值的单元格B2。

考虑以下

Sub requiredFill()
  Dim records As Integer

  With Sheets("Sheet3").Range("B2")
    If IsNumeric(.Value) Then
      records = .Value
    Else
      records = 0
    End If
  End With

  Debug.Print records
End Sub