Я пытаюсь создать экземпляр объекта и вернуть его из функции. Класс, с которым я работаю, - это тот, который я создал. Однако, когда я пытаюсь установить объект на то, что было возвращено из функции, я получаю сообщение об ошибке. Что я делаю не так?Ошибка возврата экземпляра объекта из функции в VBA
Function CreateBlah(NAME As String, Count As Integer, val As String) As Blah
Dim b As Blah
Set b = New Blah
bkmrk.Initialize NAME, Count, val
MsgBox (bkmrk.NAME)
CreateBlah = bkmrk
End Function
Тогда в другой функции ...
Dim bmrk As Blah
Set bmrk = CreateBlah("Test", 1, Trim(AString))
Я также попытался ...
Dim bmrk As Object
Set bmrk = CreateBlah("Test", 1, Trim(AString))
Я новичок в VBA, может кто-нибудь сказать мне, что я делать не так?
Этот вопрос довольно плохо сформулирован, так как вы оставили ваши типы реальных данных. Неясно, с какими «объектами» вы имеете дело, хотя из-за .Initialize он выглядит как отдельный модуль класса. Включая эту информацию, вы хотели бы улучшить свои ответы. Тем не менее, это довольно очевидно, так как @AdamRalph указывает ниже, что последней строкой вашей функции должно быть «Set CreateBlah = bkmrk». Возможно, это не то, что вызывает вашу проблему, но это недостаток в коде, который вы опубликовали (что может быть или не быть близким к вашему оригиналу). –
как насчет предоставления нам некоторых деталей об этой ошибке? –