2016-06-07 2 views
0
Private Sub UserForm_Initialize() 
    Dim a As String 
    Dim h As Double 
    Dim d As Double 
    Dim r As Double 

    a = ComboBox1.value 
    r = TextBox2.value 
    d = TextBox3.value 
    h = TextBox4.value 
End Sub 

Есть ли какие-либо проблемы в приведенной выше коде, который я написал в userform_initialize ....... я получаю несоответствие типов ошибок, я уверен, что нет никаких проблем с остальными мой кодТип ошибка рассогласования выполнения 13

Ранее я уже определенные переменные а, з, д, г в CommandButton1_Click, сейчас я только что переехал их userform_initialize, и я получаю эту ошибку несоответствия типа

Пожалуйста, помогите мне

ответ

1

типа несоответствие означает, что независимо от того, что foo.Value оценивается не может быть принуждено к Double. (Возможно, это пустая строка).

Один обходной путь будет писать код формы

a = 0 'The default value 
On Error Resume Next 'Switch off error handling 
a = ComboBox1.Value 
On Error Goto 0 'The idiomatic way of switching error handling back on. 

Или обработать потенциальную ошибку более изящно. (Возможно, Len?).

+0

'IsNumeric' также будет возможностью (для обнаружения недействительных записей). – arcadeprecinct

+0

Он стоит за ComboBox1, TextBox2, TextBox3 или TextBox4. Us geeks используют foo как * метасинтактическую переменную *. – Bathsheba

+0

Okk Thanks ........... А какая разница, определяя переменные a, h, d, r в другой sub commandbutton1_click и определяя переменные в sub userform_initialize, делают это? –

 Смежные вопросы

  • Нет связанных вопросов^_^