Soru Textbox para birimi type mismatch hatası

Katılım
27 Eylül 2016
Mesajlar
60
Excel Vers. ve Dili
2010 tr
Altın Üyelik Bitiş Tarihi
12.05.2024
Arkadaşlar ekteki kodla texbox tan hücreye kayıt yapıyorum. Bu değerle de işlem yapıyor excel. Win7 kullanıyorum. Kod sorunsuz hata vermeden çalışıyor.
Excel dosyasını flash bellekle başka bir bilgisayara (win 8 yada win 10) kopyalayıp çalıştırdığımda kıdun cdbl satırında error 13 yani type mismatch hatası veriyor.
Ne önerirsiniz. Teşekkürler.
 

Ekli dosyalar

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,986
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.
Yanlış düşünmüyorsam; aşağıdaki yöntemlerden birini tercih edebilirsiniz.
-- Kod'daki ilgili satırı [G1] = CDbl(TextBox1.Text) şeklinde değiştirip G1 hücresinen biçimini "#.##0,00 TL" olarak ayarlamak.
-- Ya da kod'daki ilgili satırı; biçimlendirmeyi de kod ile yaptırarak [G1] = CDbl( TextBox1.Text ) : [G1].NumberFormat = "#,##0.00 TL" şeklinde değiştirmek.
 
Son düzenleme:

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,239
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
İlgili satırı aşağıdaki ile değiştirin.:cool:
Kod:
Range("G1").value = cdbl(textbox1.value)
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,239
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
-- Ya da kod'daki ilgili satırı; biçimlendirmeyi de kod ile yaptırarak [G1] = TextBox1.Text: [G1].NumberFormat = "#,##0.00 TL" şeklinde değiştmek.
Burada g1 hücresi metin olarak kaydedilir.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,986
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Eyvallah, sağ olunuz Sayın GİZLEN, dikkatimden kaçmış demekki.
2 numaralı cevabımı buna göre güncelledim.
 
Katılım
27 Eylül 2016
Mesajlar
60
Excel Vers. ve Dili
2010 tr
Altın Üyelik Bitiş Tarihi
12.05.2024
Sorunu çözdüm arkadaşlar.
Win7 ve win8 de sorunsuz çalışıyor.
Userform Activate olayı: textbox1=format(range("a1"), "#, ##0.00")
TextBox1_Exit olayı: textbox1=format(TextBox1, "#, ##0.00")
Hücreye kayıt olayı: range("a1")=cdbl(format(TextBox1, "#, ##0.00"))
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,239
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Kod:
Hücreye kayıt olayı: range("a1")=cdbl(format(TextBox1, "#, ##0.00"))
Doğrusu şöyle,
Kod:
 range("a1").value=cdbl(TextBox1.value)
range("A1").numberformat = "#, ##0.00"
 
Üst