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

前,我才定義的變量A,H,d,R在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。我們極客使用foo作爲* metasyntactic變量*。 – Bathsheba

+0

Okk謝謝...........在另一個子命令中定義變量a,h,d,r有什麼區別commandbutton1_click和在sub userform_initialize中定義變量會對它做出什麼改變? –

相關問題