2015-07-24 1 views
0

У меня есть Userform, и это код для моей кнопки управления. Попытка передать Textbox к функции, используя следующий кодVBA - (Excel) Почему я не могу установить тип текстового поля для Userform без получения ошибки несоответствия типа?

Private Sub pdclear_Click() 
Dim textinput As TextBox 
Set textinput = frmBigInputBox 
Call clear(textinput) 
End Sub 

В строке выделены желтым цветом в режиме отладки является

Set textinput = frmBigInputBox 

Почему это приводит к «13» тип несоответствие ошибка ??? Что я делаю неправильно?

+0

Вы не можете назначить объект 'Form' переменной' TextBox'. Может быть, вы имеете в виду: 'Set textinput = frmBigInputBox.SomeTextBox'? – Bond

+0

пожалуйста уточните. Как и где я это делаю? Можете ли вы показать мне, как сделать эту работу? @Bond –

+0

В строке, в которой вы получаете сообщение об ошибке. Не является ли 'frmBigInputBox' объектом' UserForm'? – Bond

ответ

2

Попробуйте использовать MSForms.TextBox. Как в

Dim textinput As MSForms.TextBox 

Работы для меня.

+0

oh gezz Что, черт возьми, это ??? совершенно несовместимый со всем остальным в VBA. Я бы никогда не подумал об этом сам. Он работает Спасибо, ребята !!! Я люблю StackOverFlow –

1

я мог воспроизвести ошибку и нашел это: http://forums.devx.com/showthread.php?168758-Excel-VBA-Using-TypeOf

Таким образом, вы должны определить его как MSForms.TextBox, кажется.

+0

о, о чем вы думаете? Совершенно несовместимо со всем остальным в VBA. Он работает сейчас. Спасибо, ребята, я бы никогда не подумал об этом сам. Мне нравится StackOverFlow –