Можно передавать List, который описан As Variant, куда, соответственно, можно пихать что угодно... таким образом создавать "нужную структуру" и иметь доступ к элементам по текстовым тэгам. List даст возможность создавать динамические структуры, где положение (порядок следования) элементов неважно.
Если надо всё-таки определять, что за "структура" (например от этого зависит алгоритм), то лучше класс, где одно свойство - тип "структуры", а второе - "List As Variant" или просто "AsVariant"-переменная, содержащая саму структуру.