32Bit Excel 2015 | 64 бит Win7Публичные массивы в Excel UDF
У меня есть модуль с именем LDMod
, который выглядит, как этот
Public MyArray()
Function DoinStuff()
if **IDKWhatTOPutHere** MyArray then Call FillMyArray
DoinStuff = "Done"
End Function
Sub FillMyArray
ReDim MyArray(1 to 10, 1 to 10)
For .....
....Blah
Next
End Sub
Моя цель состоит в том, чтобы создать и заполнить публичный массив один раз, затем использовать его снова и снова с помощью функции вместо воссоздания массива для каждой ячейки каждый раз, когда вызывается функция.
Проблема двояка:
- Я не знаю, как проверить, если MyArray был создан еще или нет IDKWhatToPutHere
- My Public Массив торможением не позволяет мне называть переменную массив
Нет элегантный способ увидеть, если массив был рассчитан. Используйте глобальную переменную 'mIsFilled', которую вы задали' true' в 'FillMyArray' и используете' if not mIsFilled then Call FillMyArray' –
Зависит от вашего определения элегантности. Я думаю: http://www.cpearson.com/Excel/ IsArrayAllocated.aspx – Rory
Хорошо, это сработает - любые идеи во второй части - по какой-то причине моя функция создает новый экземпляр «MyArray», не используя Public Variable. Я получаю «Не могу скомпилировать модуль» ' стоимость – Schalton