Вам не хватает ключевого компонента , где вы Dim
ing PIXEL_DATA()
. Вот пример:
Sub MainSub()
Dim PIXEL_DATA() As Variant
PIXEL_DATA = Array(1, 2, 3, 4, 5)
Call OtherSub
End Sub
Sub OtherSub()
Dim Ptr As Long
Ptr = PIXEL_DATA(2)
Debug.Print Ptr
End Sub
Запуск MainSub()
приведет к ошибке компиляции с выделением OtherSub()
, поскольку PIXEL_DATA()
находится вне области видимости. Но перемещение PIXEL_DATA()
на уровень modular компилируется, запускается и возвращает 3 в ближайшее окно, как и ожидалось:
Dim PIXEL_DATA() As Variant
Sub MainSub()
PIXEL_DATA = Array(1, 2, 3, 4, 5)
Call OtherSub
End Sub
Sub OtherSub()
Dim Ptr As Long
Ptr = PIXEL_DATA(2)
Debug.Print Ptr
End Sub
Если ваш OtherSub()
находится во всем другом модуле, вам нужно объявить как Public
как @tigeravatar, упомянутый выше.