工作表不起作用

时间:2012-04-17 18:09:29

标签: excel-vba vba excel

我正在尝试编写一个excel visual basic宏。

我的问题是这段代码有效:

Dim x As String
x = Worksheets("Abgabe").Cells(20, 3).Value

但这不是:

Dim y As Worksheet
y = Worksheets("Abgabe")

如果我使用ActiveWorkbook,代码也不起作用。

Dim y As Worksheet
y = ActiveWorkbook.Worksheets("Abgabe")

我收到了这个错误:

  

对象变量或未设置块变量

可能是什么问题?

1 个答案:

答案 0 :(得分:5)

  
    
      

Dim y As Worksheet

             

y =工作表(“Abgabe”)

    
  

使用此(您必须使用Set

Dim y As Worksheet
Set y = Worksheets("Abgabe")

来自MSDN http://msdn.microsoft.com/en-us/library/aa192490.aspx):

Set Keyword: In VBA, the Set keyword is necessary to distinguish between 
assignment of an object and assignment of the default property of the object.