excel2003vba中的简单变量赋值

excel2003vba中的简单变量赋值,excel,vba,Excel,Vba,我不熟悉Excel中的VBA。我正在设置一个简单的宏 Option Explicit Sub Macro1() Dim sheet sheet = Worksheets.Item(1) ' This line has the error End Sub 在出现错误的行中,我得到“运行时错误'438'对象不支持此属性或方法” 我可以使用“监视”窗口查看“Worksheets.Item(1)”是否为有效对象。我尝试将其更改为“将工作表作为工作表进行调整”,但结果相同 好吧,那么我错

我不熟悉Excel中的VBA。我正在设置一个简单的宏

Option Explicit

Sub Macro1()
   Dim sheet
   sheet = Worksheets.Item(1)  ' This line has the error
End Sub
在出现错误的行中,我得到“运行时错误'438'对象不支持此属性或方法”

我可以使用“监视”窗口查看“Worksheets.Item(1)”是否为有效对象。我尝试将其更改为“将工作表作为工作表进行调整”,但结果相同

好吧,那么我错过了什么?为什么会发生这种错误

谢谢


-Mike

您需要一个
Set
语句(在分配引用时):


不是100%确定,但我认为它所说的对象是“工作表”,它试图告诉您它不支持“Item”属性/方法。这是基于你找到的一些示例代码吗?不是,我是从头开始写的代码。如果我输入“工作表”。我会得到“项”的智能感知(“好问题。您需要设置
的原因是
工作表
是一个对象,而不是简单的类型(例如整数、字符串等)。您也可以按名称引用工作表,例如
设置工作表=工作表(“工作表1”)
Option Explicit

Sub Macro1()
   Dim sheet As Worksheet
   Set sheet = Worksheets.Item(1) 

   '' ... Use sheet

   Set sheet = Nothing
End Sub