• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Toplama sorunu

Katılım
8 Mart 2007
Mesajlar
582
Excel Vers. ve Dili
excel 2000 Türkçe
Merhaba arkadaşlar formdan indirdiğim bir dosya üzerinde siz değerli arladaşların yardımı ile bazı değişiklikler yaptım. Tam bitti derken Değiştir butonu ile verileri değiştirip aktardığım zaman satırın sonundaki kalan mikyarın toplamlara alınmadığını fark ettim. Herhalde değiştir dediğimiz zaman kalan miktarı rakam olarak görmuyor. Bu konuda yardımlarınızı bekliyorum. Yardımlarınız için şimdiden teşekürler.

Koruma şifresi: 123

Dosya büyük olduğu için yükliyemedim. Bul, Değiştir, Sil kodları aşağıdaki kodlardır.



Private Sub CommandButton11_Click()
If TextBox15.Text = "" Then

MsgBox "Lütfen bulmak istediğiniz numarayı giriniz!!!"
Exit Sub
End If
For Each hucre In Range("a6:a" & WorksheetFunction.CountA(Range("a6:k65000")) + 1)
If StrConv(hucre.Value, vbUpperCase) = StrConv(TextBox15.Value, vbUpperCase) Then
hucre.Select
ComboBox2 = ActiveCell.Offset(0, 1).Value
ComboBox3 = ActiveCell.Offset(0, 2).Value
TextBox3 = ActiveCell.Offset(0, 3).Value
TextBox4 = ActiveCell.Offset(0, 4).Value
TextBox5 = ActiveCell.Offset(0, 5).Value
TextBox10 = ActiveCell.Offset(0, 6).Value
TextBox11 = ActiveCell.Offset(0, 7).Value
TextBox13 = ActiveCell.Offset(0, 8).Value
TextBox6 = ActiveCell.Offset(0, 9).Value
TextBox7 = ActiveCell.Offset(0, 10).Value
End If
Next

End Sub

Private Sub CommandButton12_Click()
If TextBox15.Text = "" Then
MsgBox "DEĞİŞTİRİLECEK SATIRI SEÇİNİZ!!!"
Exit Sub
End If
MsgBox "KAYIT DEĞİŞTİRİLDİ!!!"
satır = ActiveCell.Row
ActiveSheet.Unprotect "123"
ActiveCell.Offset(0, 1).Value = ComboBox2.Value
ActiveCell.Offset(0, 2).Value = ComboBox3.Value
ActiveCell.Offset(0, 3).Value = TextBox3.Value
ActiveCell.Offset(0, 4).Value = TextBox4.Value
ActiveCell.Offset(0, 5).Value = TextBox5.Value
ActiveCell.Offset(0, 6).Value = TextBox10.Value
ActiveCell.Offset(0, 7).Value = TextBox11.Value
ActiveCell.Offset(0, 8).Value = TextBox13.Value
ActiveCell.Offset(0, 9).Value = TextBox6.Value
ActiveCell.Offset(0, 10).Value = TextBox7.Value
ActiveSheet.Protect "123"
End Sub

Private Sub CommandButton13_Click()
ActiveSheet.Unprotect "123"
If TextBox15.Text = "" Then
MsgBox "SİLİNECEK SATIRI SEÇİNİZ!!!"
Exit Sub
End If
MsgBox "KAYIT SİLİNDİ!!!"
satır = ActiveCell.Row
'Rows(satır).Delete Shift:=xlUp
Range(Cells(satır, "A"), Cells(satır, "K")).Delete
ComboBox2.Text = ""
ComboBox3.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox10.Text = ""
TextBox11.Text = ""
TextBox13.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
ActiveSheet.Protect "123"
End Sub
 

Ekli dosyalar

  • Örnek1.JPG
    Örnek1.JPG
    83.8 KB · Görüntüleme: 14
Merhaba,

Sayıları girdiğiniz "TextBox" nesnesin özünde bir metin kutusudur. Bu sebeple formdan sayfaya veri aktarırken bu nesneleri formatlamanız gerekir.

Mesela TextBox10 nesnesi sayısal bir veri içeriyorsa bunu sayfaya aktarırıken aşağıdaki yöntemi kullanın.

Kod:
If TextBox10 = "" Then TextBox10 = 0
ActiveCell.Offset(0, 6).Value = Cdbl(TextBox10.Value)

Eklemiş olduğum ilk satır Cdbl() komutunun hata vermemesi içindir. Değişik sorgularda yazılabilir.
 
Çok teşekürler hocam. Kodu ActiveCell.Offset(0, 6).Value = Cdbl(TextBox10.Value) şeklinde değiştirdim oldu. Yanlızca TextBox un birtanesini boş bıraktığımız zaman hata veriyor. bütün TekxBoxlara veri girmediğimiz zaman hata veriyor.
 
Merhaba,

TextBox nesnesini boş bıraktığınızda Cdlb() komutu hata verecektir. Bunu zaten üstteki mesajımda belirtmiştim. Sanırım dikkat etmediniz.

Bunu aşmak için Activecell ile başlayan satırın üstüne aşağıdaki basit sorguyu yazmanız yeterli olacaktır. Bunu tüm sayı gireceğiniz TextBoxlar için yapmalısınız.

Kod:
If TextBox10 = "" Then TextBox10 = 0

Bu sorgu ile TextBox nesnesini boş geçseniz dahi sıfır değerini alacağı için Cdbl() komutu hata vermeyecektir.

Ayrıca forumda "textbox" diye arama yaparsanız konuyla ilgili onlarca örnek bulabilirsiniz.
 
Çok teşekürler hocam ellerinize sağlık.
 
Geri
Üst