Type Mismatch Hatası

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
731
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Merhaba arkadaşlar.

Aşağıdaki kırmızı ile renklendirilmiş kod satırında Tür Uyuşmazlığı (Type Mismatch) hatası veriyor. Yardımcı olursanız sevinirim.


Dim i As Integer
For i = 10 To 26
say = say + Val(Me.Controls("TextBox" & i).Value)
Next i
TextBox604.Value = say
TextBox606.Value = Fix(say / 2)
TextBox41.Value = Val(TextBox604.Value + Val(TextBox605.Value + Val(TextBox606.Value + Val(TextBox607.Value))))



Aşağıdaki gibi Textbox606 ve Textbox 607 yi Toplamaya dahil etmezsen bir sorun çıkmıyor.

Dim i As Integer
For i = 10 To 26
say = say + Val(Me.Controls("TextBox" & i).Value)
Next i
TextBox604.Value = say
TextBox606.Value = Fix(say / 2)
TextBox41.Value = Val(TextBox604.Value + Val(TextBox605.Value ))
 

DoğanD

Altın Üye
Katılım
22 Eylül 2023
Mesajlar
427
Excel Vers. ve Dili
Office 365 TR
Altın Üyelik Bitiş Tarihi
05-10-2028
Hata veren Textbox'lardaki değer ondalıklı yada metin içeriyor olabilir mi? Bildiğiniz gibi Excel'de ondalık işareti virgül iken, VBA'da bu nokta olarak işlev görüyor. CDBL fonksiyonu ile deneyebilir misiniz?
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,798
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
parantezler yanlış

TextBox41.Value = Val(TextBox604.Value) + Val(TextBox605.Value) + Val(TextBox606.Value) + Val(TextBox607.Value)
 

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
731
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Hata veren Textbox'lardaki değer ondalıklı yada metin içeriyor olabilir mi? Bildiğiniz gibi Excel'de ondalık işareti virgül iken, VBA'da bu nokta olarak işlev görüyor. CDBL fonksiyonu ile deneyebilir misiniz?
Tamsayı veriler içeriyor.
 

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
731
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
parantezler yanlış

TextBox41.Value = Val(TextBox604.Value) + Val(TextBox605.Value) + Val(TextBox606.Value) + Val(TextBox607.Value)
Evet düzeldi Halit bey. Teşekkürler.
 
Üst