textbox a hücre toplamı yazdımak

fedeal

Banned
Katılım
29 Mayıs 2008
Mesajlar
1,985
Excel Vers. ve Dili
2003 tr
Necdet bey yazmıştı
Kod:
Fatura_Takip.TextBox17=Format(Application.WorksheetFunction.Sum([COLOR="Red"]Range("Takip!E:E")), [/COLOR]"#.00TL")
kırmızı olan range olayını yanlış düşünüyorsunuz.


Kod:
Fatura_Takip.TextBox17=Format(Application.WorksheetFunction.Sum([COLOR="Red"]Range("E:E")), [/COLOR]"#.00TL")
olarak kullanın.
 
Katılım
24 Haziran 2009
Mesajlar
99
Excel Vers. ve Dili
2003
maalesef olmuyor yine aynı sonuç sayın Fedeal denemediğim yöntem kalmadı.
Bilmiyorum ama bence "E:E" demekle tüm E sütununu toplatmış oluyoruz, belkide E1 hücresinde metin yazısı olduğu için toplamıyordur.
 

fedeal

Banned
Katılım
29 Mayıs 2008
Mesajlar
1,985
Excel Vers. ve Dili
2003 tr
metinleri algılamaz başka bir problem olmalı
 
Katılım
24 Haziran 2009
Mesajlar
99
Excel Vers. ve Dili
2003
hocam inceledim gördüğüm kadarıyla tek fark ben TextBoxtan sonra .Text koymamıştım. onuda denemdim sonuç değişmedi.
ben bu kodları userformun Initialize kısmına yazıyorum bu birşeyi değiştirimi?
birde verilerin olduğu sayfa ile userformun olduğu sayfalar farklı bunun etkisi olurmu(gerçi Sheets("Takip") yazdım ama
 

fedeal

Banned
Katılım
29 Mayıs 2008
Mesajlar
1,985
Excel Vers. ve Dili
2003 tr
problem bulunmuştur. :)

e hücresindeki sayılar metin olarak saklanan sayı olarak görünüyor. hücreyi seçin sag yada solunda bir kutu belirecek seçince göreceksiniz.sayıya dönüştür seçenegini seçin.
Neden oluyor diye sorarsanız userformdan sayfaya veri aktarırken sayı içeren textboxları tanımlayın örnegin:
sheets("veri").cells(satır,1).value= cdbl(textbox1)
gibi

bu problem ilerde tarihtede olacak zaten ikinci soruyu yaparken hücredeki tarihlerde bu vardı düzelttim.
tarih içrenleri ise;
sheets("veri").cells(satır,1).value= datevalue(textbox1)

olarak düzeltin

uyarı: hücreler boş olarak aktarcaksanız bu kodlar hata verir onun için on error resume next satırını kullanın.
 
Katılım
24 Haziran 2009
Mesajlar
99
Excel Vers. ve Dili
2003
problem bulunmuştur. :)

e hücresindeki sayılar metin olarak saklanan sayı olarak görünüyor. hücreyi seçin sag yada solunda bir kutu belirecek seçince göreceksiniz.sayıya dönüştür seçenegini seçin.
Neden oluyor diye sorarsanız userformdan sayfaya veri aktarırken sayı içeren textboxları tanımlayın örnegin:
sheets("veri").cells(satır,1).value= cdbl(textbox1)
gibi

bu problem ilerde tarihtede olacak zaten ikinci soruyu yaparken hücredeki tarihlerde bu vardı düzelttim.
tarih içrenleri ise;
sheets("veri").cells(satır,1).value= datevalue(textbox1)

olarak düzeltin

uyarı: hücreler boş olarak aktarcaksanız bu kodlar hata verir onun için on error resume next satırını kullanın.
hocam hücrelerdeki sayıya dünüştürü yaptım.haklısınız düzeldi şimdi.
sheets("veri").cells(satır,1).value= cdbl(textbox1)
bu kod taslağını kaydet,değiştir,sil yani veri girişindeki tüm butonlara kullanmak geerklimidir.

on error resume next sadece tarih içinmi yoksa diğer kodu yazdığım yerlerde kullanayımmı
 

fedeal

Banned
Katılım
29 Mayıs 2008
Mesajlar
1,985
Excel Vers. ve Dili
2003 tr
cdbl yi nesnelerdeki sayıları sayfaya kaydederken kullanmalısınız tarihler içinse datevalue her ikiside nesneler boş olursa cdbl sayı olmazsa datevalue tarih olmazsa hata verir. hatalı satırı atla komutunu ikisi içinde kullanın yada aktarımı yapacagınız butonların başına
if textbox1.text="" then exitsub
sorgu yapabilirsiniz sayı içerecek nesnelere harf girmemek için

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
‘Eğer tuşun aski kodu 48den küçükse veya 57 den büyükse yani
‘rakamların aski kodu değilse tuşu iptal et. özel tuşlar için geçerli değildir. F1, Tab,..gibi
End Sub

konuyla ilgili sayın Mahmut BAYRAM'ın güzel bir makalesi var.

http://www.excel.web.tr/showthread.php?t=6487&highlight=say%FD+de%F0ilse
 

Orion1

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

Ofis-2010-TR 32 Bit
Kod:
If KeyAscii < 48 Or KeyAscii > 57 Then KeyAscii = 0
bunun yerine aşğaıdaki koduda kullanabilirsiniz.:cool:
Kod:
if not is numeric(textbox1.text)  then msgbox "aaa"
 
Katılım
24 Haziran 2009
Mesajlar
99
Excel Vers. ve Dili
2003
hocam verdiğiniz bilgilere çok teşekkürler. yarın görüşmek üzere
 
Katılım
24 Haziran 2009
Mesajlar
99
Excel Vers. ve Dili
2003
problem bulunmuştur. :)

sheets("veri").cells(satır,1).value= cdbl(textbox1)

sheets("veri").cells(satır,1).value= datevalue(textbox1)

uyarı: hücreler boş olarak aktarcaksanız bu kodlar hata verir onun için on error resume next satırını kullanın.
fedeal hocam bunları kullandım (diğer bölümdeki mesajda da anlattım gibi) para birimlerini göstermiyor şimdi. toplamı yapıyor sorunsuz.
 
Üst