我正在尝试编写一个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")


我收到此错误:


未设置对象变量或带块变量


可能是什么问题呢?

最佳答案

昏暗的工作表

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.

08-19 10:51