2016-06-07 3 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

이전 내가 정의했다 변수는, 시간이, D는 commandbutton1_click에서 r은 이제 난 그냥 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를 나타냅니다. 우리 괴짜들은 foo를 메타 구문 변수 *로 사용합니다. – Bathsheba

+0

Okk 고마워 ........... 그리고 다른 sub commandbutton1_click에서 변수 a, h, d, r을 정의하고 하위 userform_initialize에서 변수를 정의하면 어떤 차이가 있습니까? –

관련 문제