у меня, похоже, та же проблема (как передать TextBox в процедуру).
Для функции с заголовком
Public Function MyCheck(ByVal tbox As MSForms.TextBox) As Boolean
вызов а = MyCheck(MyTextBox) дает ошибку "Type mismatch".
Причина в том, что default property для TextBox — это Text,
вот VBA и пытается эту строку вставить при вызове функции.
Таким образом, Ваш совет мне не помогает.
Есть ли способ это преодолеть, т.е. как-то показать,
что я хочу передать объект TextBox, а не его default property?