У меня есть большой кусок кода, который вручную определяет для меня каждый элемент массива, который раздражающе длинен и расположен в начале одной из моих функций. Я хотел бы скрыть код или установить его где-нибудь еще БЕЗ изменения его текущего значения, если это возможно. Я бы не хотел делать массив глобальным. Также нецелесообразно передавать массив из всех мест, где вызывается функция.
Есть ли способ просто разместить код в другом месте, в то время как VBA рассматривает его как часть функции, то есть как если бы у меня были все элементы, определенные в начале функции? Я представляю себе своего рода «Sub», который на самом деле не является Sub (я мог бы назвать его «Excerpt») кода с элементами, заполненными там одной строкой в функции, которая вызывает «Excerpt» по имени.
1 ответ
Вы можете вернуть массив из функции, чтобы он мог быть сам по себе в модуле;
public Function getArr() as string()
Dim arr(10) as string
...
arr(5) = "Cakey"
getArr = arr
End Function
Вызывается с
Dim arry() as string: arry = getArr()
msgbox arry(5)
Похожие вопросы
Новые вопросы
vba
Visual Basic для приложений (VBA) — это управляемый событиями объектно-ориентированный язык программирования для написания макросов, используемый для всего пакета Office, а также для других приложений. VBA не эквивалентен VB.NET или VBS; если вы работаете в Visual Studio, используйте [vb.net]. Если ваш вопрос конкретно касается программирования какого-либо приложения MS Office, также используйте соответствующий тег: [excel], [ms-access], [ms-word], [outlook], [visio] или [ms-project].