Вопрос по excel, vba – Рабочие листы не работают

3

Я пытаюсь написать Excel Visual Basic Basic макрос.

Моя проблема в том, что этот код работает:

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

Но это не так:

<code>Dim y As Worksheet
y = Worksheets("Abgabe")
</code>

Также, если я использую ActiveWorkbook, код не работает.

<code>Dim y As Worksheet
y = ActiveWorkbook.Worksheets("Abgabe")
</code>

Я получаю эту ошибку:

Object variable or With block variable not set

В чем может быть проблема?

Ах, самая распространенная ошибка в VBA ... :-) RBarryYoung
@RBarryYoung Вы ссылались на «Рабочие листы не работают»? ;) Reafidy
Нет, & quot; Требуется SET для назначения объектов. & Quot; ошибка программирования. Поскольку компилятор не может обнаружить ошибку, практически каждый программист VBA сделал это в тот или иной момент. RBarryYoung

Ваш Ответ

1   ответ
5

y = Worksheets("Abgabe")

Используйте это (вы должны использоватьSet)


Set y = Worksheets("Abgabe")

From 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.

Похожие вопросы