Проще говоря, у вас должна быть функция, которая возвращает вариант. Я вижу, что вам нравится делать это объектно-ориентированным способом, но если вы просто хотите «сделать это» процедурно, это самый простой способ.
Хотя есть несколько способов сделать это, это мой предпочтительный способ. Обратите внимание, что вы можете создать список любого примитивного типа данных (например, строка, вариант, целое число, длинный и т. Д.).
Function myfunc as variant
dim mylist list as variant
mylist("somename") = "the value you want to store"
mylist("someothername") = "another value"
myfunc = mylist
End Function
Для использования myfunc ..
sub initialise
dim anotherlist list as variant
anotherlist = myfunc
end sub
Вы можете добавить параметры в myfunc, если вам нужно, просто определив myfunc таким образом
function myfunc(val1 as variant, val2 as variant) as variant
Вы называете это так же, как параметры
anotherlist = myfunc("a value", "another value")
Обратите внимание, что "вариант" - это ваш универсальный тип данных. Важно то, что myfunc как вариант - единственный способ вернуть списки и варианты из функции.