kaydederken sayı olarak kaydetsin

Katılım
29 Ocak 2006
Mesajlar
138
Excel Vers. ve Dili
2003 türkçe
merhabalar
aşağıdaki kodlarla sayfaya veri girişi yapıyorum. verilerin çoğunluğu sayı ve o sayıları =ETOPLA(ders_dağıtım_!B8:B126;"türkçe";ders_dağıtım_!D8:D126) fonksiyonu ile ilgili yerlere toplatıyorum.ama textlerle sayfaya kaydederken metin biçiminde sakladığı için etopla fonksiyonu sayıları toplayamıyor.haliyle 0 "sıfır" değeri veriyor.sayfadaki hücreleri sayı olarak biçimlendirmem bile birşeyi değiştirmiyor.verileri sayı olarak nasıl kaydedebilirim bunu beceremedim. yardımcı olacaklara şimdiden teşekkürler.
Private Sub CommandButton2_Click()
Sheets("ders_dağıtım_").Select
Range("a7").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
ActiveCell.Value = ComboBox1
ActiveCell.Offset(1, 0) = TextBox48
ActiveCell.Offset(0, 1) = TextBox1
ActiveCell.Offset(0, 2) = TextBox2
ActiveCell.Offset(0, 3) = TextBox3
ActiveCell.Offset(1, 3) = TextBox4
ActiveCell.Offset(0, 4) = TextBox5
ActiveCell.Offset(1, 4) = TextBox6
ActiveCell.Offset(0, 5) = TextBox7
ActiveCell.Offset(1, 5) = TextBox8
ActiveCell.Offset(0, 6) = TextBox9
ActiveCell.Offset(1, 6) = TextBox10
ActiveCell.Offset(0, 7) = TextBox11
ActiveCell.Offset(1, 7) = TextBox12
ActiveCell.Offset(0, 8) = TextBox13
ActiveCell.Offset(1, 8) = TextBox14
ActiveCell.Offset(0, 9) = TextBox15
ActiveCell.Offset(1, 9) = TextBox16
ActiveCell.Offset(0, 10) = TextBox17
ActiveCell.Offset(1, 10) = TextBox18
ActiveCell.Offset(0, 11) = TextBox19
ActiveCell.Offset(1, 11) = TextBox20
ActiveCell.Offset(0, 12) = TextBox21
ActiveCell.Offset(1, 12) = TextBox22
ActiveCell.Offset(0, 13) = TextBox23
ActiveCell.Offset(1, 13) = TextBox24
End Sub
 
Selamlar,

Aşağıdaki şekilde denermisiniz.

ActiveCell.Offset(0, 1) = TextBox1 * 1

Siz sayı olarak görmek istediklerinize de uygulayınız.
 
sayın COST CONTROL
söylediğiniiz gibi denedim
ActiveCell.Offset(0, 3) = TextBox * 3
bütün textleri sanki veri girilmiş gibi 0 "sıfır" olarak sayfaya kaydetti . halbuki ben sadece iki texte sayı girmiştim.
 
Selamlar,

Benim vermiş olduğum kod Textbox1 e girdiğiniz değeri sayfaya kaydederken sayı olarak kaydeder.

ActiveCell.Offset(0, 1) = TextBox1 * 1

Yukarıdaki ifadede geçen "* 1" kısmı yazılan Textbox1 deki değeri sayıya dönüştürür.

Sizde sayıya dönüştürmek istediğiniz Textox için bu şekilde kullanmalısınız. Yani eğer Textbox3 ü sayı olarak kaydetmek istiyorsanız kullanımı aşağıdaki şekilde olmalıdır.

ActiveCell.Offset(0, 3) = TextBox3 * 1
 
sayın COST CONTROL özür dilerim vaktinizi boşuna harcadım.Hata bende.ben kodu Textbox*3 şeklinde denemişim.tekrar özür dilerim.çok sağolun.
 
Selamlar,

Özür dilemenize gerek yok önemli olan çözüme ulaşabilmemiz. :arkadas:
 
sayın COST CONTROL
textboxlardan bazıları boş olduğunda hata veriyor doğal olarak.nasıl bir şart koymalıyız ki hata vermesin.çünkü 40 adet textboxun hepsine aynı anda veri girmiyorum ilgili textlere sırası gelince giriyorum .
 
Selamlar,

Private Sub CommandButton2_Click()
On Error GoTo Son
'SİZİN KODLARINIZ...
......

Son: MsgBox "HATALI GİRİŞ LÜTFEN KONTROL EDİNİZ..."
End Sub

Şeklinde kullanabilirsiniz. (Yada dosyanızın küçültülmüş halini ekleyin üzerinden gidelim.)
 
iyi sabahlar
dosyam ektedir.açıklama çalışma sayfasında.
 
Selamlar,

Aşağıdaki gibi denermisiniz.

Private Sub CommandButton2_Click()
On Error Resume Next
'SİZİN KODLARINIZ.
.......
End Sub
 
Başka bir alternatif

ActiveCell.Offset(0, 3) = TextBox3*1 yerine

ActiveCell.Offset(0, 3) = Val(TextBox3) gibi kullanmanız bu durumda hata vermemesi lazım
 
sayın fructose teşekkür ederim.küçük bir hatanın dışında istediğim gibi olmuş.boş bırakılan textboxları sayfaya 0"sıfır" olarak kaydediyor.boş textleri ya boş bıraksa yada "-" çizgi çekse.mümkün mü acaba.iyi çalışmalar.
 
İlgili sayfanızda 0 ların gözükmemesi için Araçlar-Seçenekler-Görünüm - Sıfır Değerleri kutucuğunun yanındaki check işaretini kaldırın(işaretsiz olacak).Bu durumda kaydettiğiniz o sayfada 0 değerleri gözükmeyecektir
 
çok teşekkür ederim.bilgine sağlık.
 
Geri
Üst