У меня есть следующий код, и я не знаю, почему Excel не видит тип Enum
(который я объявил) в подпрограмме Test2()
:
Private Sub Test1()
Dim test_name As Variant
End Sub
Private Enum rlcRollercoasterState
rlcRollercoasterDisabled
rlcRollercoasterEnabled
rlcRollercoasterBroken
rlcRollercoasterMissing
End Enum
Private Sub Test2()
Dim var1 As Variant
Dim rlcRC1State As rlcRollercoasterState ' User-defined type not defined
End Sub
Если я скопирую подпрограмму Test1()
после объявления типа Enum
, Excel распознает тип rlcRollercoasterState
в Test1()
. Если я закомментирую подпрограмму Test1()
, Excel распознает тип rlcRollercoasterState
в Test2()
.
Почему Excel не видит тип rlcRollercoasterState
в подпрограмме Test2()
?
1 ответ
Перед запуском кода всегда выполняйте команду «Отладка / компиляция VBAProject» (Alt-dl). Как и в вашем примере, он дает ошибку. Ошибка компиляции говорит, что он хочет, чтобы оператор объявления в начале модуля.
Похожие вопросы
Новые вопросы
excel
Только для вопросов по программированию объектов или файлов Excel или по разработке формул. Вы можете комбинировать тег Excel с тегами и вопросами VBA, VSTO, C#, VB.NET, PowerShell, OLE и другими тегами и вопросами, связанными с программированием, если это применимо. НЕ используйте с другим программным обеспечением для работы с электронными таблицами, например [google-sheets].