У меня есть функция VBA, который должен взять словарь в качестве аргумента:Не удается передать словарь в качестве аргумента функции VBA
Function ShowDict(Dict1 As Dictionary)
For Each x In Dict1
MsgBox (Dict1.Item(x))
Next
End Function
И я пытаюсь назвать это следующим образом:
Dim Dict As Dictionary
Set Dict = Dictionary
Dict.Add "Owner", "John"
Dict.Add "Employee", "Sam"
ShowDict (Dict)
Я делал выбор ссылок на Microsoft Scripting из ссылок перед определением словаря. Тем не менее, я получаю ошибку компиляции с указанием «Аргумент не факультативно», когда я пытаюсь вызвать функцию, используя параметр «Dict» в качестве параметра. Может кто-нибудь мне помочь?
'ShowDict' неявно принимает параметр' Dict1' 'ByRef', но вызов' ShowDict (Dict) 'явно передает аргумент' Dict' 'ByVal'. Выбрасывайте круглые скобки, если вы не используете возвращаемое значение функции ... и напишите 'Sub', если вы пишете процедуру, которая не возвращает значение. Члены 'Function' должны что-то возвращать. –