我正在尝试编写一个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")
我收到了这个错误:
对象变量或未设置块变量
可能是什么问题?
答案 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.