Textbox15,Textbox16,Textbox17,Textbox18,,,,,,,nası l toplatabilirim

Katılım
8 Haziran 2007
Mesajlar
761
Excel Vers. ve Dili
excel- 2003 Türkçe
Userform üzerinde TextBox46 da toplam almak istiyorum. Textbox 15 ,Textbox16, Textbox30 kadar sıralı gidiyor. Bunlara birde Textbox47 eklenecek
 
Katılım
14 Ocak 2005
Mesajlar
792
Excel Vers. ve Dili
Ofis 2010 2016
Altın Üyelik Bitiş Tarihi
13/03/2022
bir combobox ekeliyin user forma topla diye sonra
textbox46.value=(TextBox16.value*1)+(TextBox17.value*1)+... sırası ile devam edin.
Bir deneyin umarım işinize yarar.
 
Katılım
8 Haziran 2007
Mesajlar
761
Excel Vers. ve Dili
excel- 2003 Türkçe
ben sorgu çalıştırdığımda bilgiler form üzerine geliyor. bilgiler geldiğinde kendi otomatik olarak toplamaz mı yani benim topla dememe gerek kalmasın
 
Katılım
14 Ocak 2005
Mesajlar
792
Excel Vers. ve Dili
Ofis 2010 2016
Altın Üyelik Bitiş Tarihi
13/03/2022
Olur tabi Eğer bilgiler form açıldığında geliyorsa o zaman Formun initialize olayına aşağıdaki örnek gibi yazarsan toplar. Kolay gelsin.

Private Sub UserForm_Initialize()
TextBox3.Value = (TextBox1.Value * 1) + (TextBox2.Value * 1)
End Sub
 
Katılım
8 Haziran 2007
Mesajlar
761
Excel Vers. ve Dili
excel- 2003 Türkçe
ben kod sayfasına baktım bu örneğe benzer şöyle bir kod var.
benim anladığım kadarıyla 15 ile 40 arası textboxtları topluyor. peki buna sadece Textbox47 de ilave edebilirmiyiz. ayrıca clasmodül2 de bazı kodlar var ama ben çözemiyorum.

Private Sub UserForm_Initialize()
ReDim Preserve Txt(45)
For X = 15 To 41
Set Txt(X).Txt = Controls("TextBox" & X)
Next
TextBox44 = " "
End Sub
 
Katılım
14 Ocak 2005
Mesajlar
792
Excel Vers. ve Dili
Ofis 2010 2016
Altın Üyelik Bitiş Tarihi
13/03/2022
en altına end sub üstüne next altına yani döngünün bittiği yere
toplatmak istediğin textboxun değeri üzerine tewtbox47 + ilave edebilirsin.
 
Katılım
8 Haziran 2007
Mesajlar
761
Excel Vers. ve Dili
excel- 2003 Türkçe
inanki demek istediğinizi anladım da tama olarak kodu nasıl yazacağımı gösterebilirmisiniz zahmet olmazsa
 
Katılım
14 Ocak 2005
Mesajlar
792
Excel Vers. ve Dili
Ofis 2010 2016
Altın Üyelik Bitiş Tarihi
13/03/2022
Private Sub UserForm_Initialize()
ReDim Preserve Txt(45)
For X = 15 To 41
Set Txt(X).Txt = Controls("TextBox" & X)
Next
TextBox44 = " "
textbox46.value=(textbox46.value*1)+(textbox47.value*1)

End Sub

bu şekilde birdeneyin yukardaki döngüyü tabi kendinize göre uyarladığınızı ve toplamı da textbox46 ya aldığınızı düşünerek böyle yaptım. eksik yerlerinizi kendinize göre uyarlayın. Kolay gelsin.
 
Katılım
8 Haziran 2007
Mesajlar
761
Excel Vers. ve Dili
excel- 2003 Türkçe
dosya ekleme

Ya arkadaş ben bu işi beceremeyeceğim. Kopyaladım ama hep hata veriyor.Olmadı Aceba dosyayı eklesem yardımcı olurmusunuz. Ben dosyanın eski çalışır halini gönderiyorum. Texbox 46 ya sadece textbox47 ilave
 
Katılım
14 Ocak 2005
Mesajlar
792
Excel Vers. ve Dili
Ofis 2010 2016
Altın Üyelik Bitiş Tarihi
13/03/2022
Tam olarak ne istediğinizi açık bir şekilde yazarsanız ne bir şekilde size yardımcı olabilirim.
 
Katılım
8 Haziran 2007
Mesajlar
761
Excel Vers. ve Dili
excel- 2003 Türkçe
Yukarıdaki örnek isimli dosyada kişisel bordro aldı userformda personel noya göre sorgulama yaptırdğımda form üzerine kişisel bilgiler geliyor. Textbox46 Aylık tutardan başlayıp Keşif ücreti dahil hepsini Textbox46 ya toplayacak.

Aynı şekilde Textbox48 Gelir vergisinden başlayıp fon da bitecek ve toplam Textbox48 e yani kesinti tutarına yazılacak
son olarak Textbox46 dan Textbox48 çıkacak ve çıkan sonuç Textbox49 yani ele geçen sutununa yazılacak
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,779
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Sn. ferhatgurbuz,

Size tavsiyem yaptığınız projelerde kodlamaya başlamadan önce eğer mümkünse formlarınıza eklediğiniz kontrolleri artan sıralama ile düzenlemeniz size büyük kolaylıklar sağlayacaktır. Bu şekilde yazılacak kodlarda inanılmaz tasarrufa gidebilirsiniz. Aksi takdirde form üzerinde 100-150 textbox ile işlem yaptığınızı ve bunları formunuzda karışık bir sistemle oluşturduğunuzu düşünün. Bunları silmek için yada veri alıp aktarmak için tek tek kod yazmak insana eziyetten başka bir şey kazandırmaz. Ama bunları artan sıralama ile eklerseniz iki satır döngü ile bütün işlemlerinizi daha sade bir şekilde yapabilirsiniz. Umarım bu yazdıklarım form üzerinde çok fazla kontrolle proje yapmayı düşünen arkadaşlarımızada fikir verir.

"SORGU ÇALIŞTIR" isimli butonunuza ve "SpinButton1" butonunuza ait kodları aşağıdaki şekilde değiştirip denermisiniz.

Kod:
Private Sub CommandButton1_Click()
Sheets("Data").Select
If TextBox44.Value = "" Or TextBox44.Value = 0 Or TextBox44.Value = " " Then
MsgBox "Text kutusu boş. Lütfen bir değer giriniz.."
Exit Sub
End If
'On Error Resume Next
'Cells.Find(What:=TextBox44.Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
':=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
'True, SearchFormat:=False).Activate
Set bul = Columns("B").Find(TextBox44.Value, LOOKAT:=xlWhole)

If bul Is Nothing Then
MsgBox "Aradığınız veri bulunamadı. Lütfen yaptığınız girişi kontrol ediniz."
Exit Sub
End If
Cells(bul.Row, 1).Select

TextBox1.Value = ActiveCell.Value 'Sıra No
TextBox2.Value = ActiveCell.Offset(0, 1).Value 'Personel No
TextBox3.Value = ActiveCell.Offset(0, 2).Value 'Ünvanı
TextBox4.Value = ActiveCell.Offset(0, 3).Value 'Adı
TextBox5.Value = ActiveCell.Offset(0, 4).Value 'Soyadı
TextBox6.Value = ActiveCell.Offset(0, 5).Value 'Aylık Derece Kademe 1
TextBox45.Value = ActiveCell.Offset(0, 6).Value 'Aylık Derece Kademe 1
TextBox7.Value = ActiveCell.Offset(0, 9).Value 'Medeni Hali
TextBox8.Value = ActiveCell.Offset(0, 13).Value 'Gösterge
TextBox9.Value = ActiveCell.Offset(0, 15).Value 'Ek Gösterge
TextBox10.Value = ActiveCell.Offset(0, 18).Value 'Kıdem Yılı
TextBox14.Value = ActiveCell.Offset(0, 26).Value 'Kıstas Aylık Oranı
TextBox11.Value = ActiveCell.Offset(0, 48).Value 'Emekli Sicil No
TextBox12.Value = ActiveCell.Offset(0, 47).Value 'TC.-Vergi Kimlik No
TextBox13.Value = ActiveCell.Offset(0, 46).Value 'Banka Hesap No
TextBox15.Value = Format(ActiveCell.Offset(0, 14).Value, "#,##0.00") 'Aylık
TextBox16.Value = Format(ActiveCell.Offset(0, 16).Value, "#,##0.00") 'Ek Gösterge
TextBox17.Value = Format(ActiveCell.Offset(0, 17).Value, "#,##0.00") 'Taban Aylık
TextBox18.Value = Format(ActiveCell.Offset(0, 19).Value, "#,##0.00") 'Kıdem Aylığı
TextBox19.Value = Format(ActiveCell.Offset(0, 21).Value, "#,##0.00") 'Çocuk Yardımı
TextBox20.Value = Format(ActiveCell.Offset(0, 23).Value, "#,##0.00") 'Aile Yardımı
TextBox21.Value = Format(ActiveCell.Offset(0, 36).Value, "#,##0.00") 'Yan Ödeme
TextBox22.Value = Format(ActiveCell.Offset(0, 25).Value, "#,##0.00") 'Özel Hizmet Tazminatı
TextBox23.Value = Format(ActiveCell.Offset(0, 29).Value, "#,##0.00") 'Yargı Ödeneği
TextBox24.Value = Format(ActiveCell.Offset(0, 27).Value, "#,##0.00") 'Kıstas Aylık
TextBox25.Value = Format(ActiveCell.Offset(0, 31).Value, "#,##0.00") 'Denge Tazminatı
TextBox26.Value = Format(ActiveCell.Offset(0, 37).Value, "#,##0.00") '% 20 Emekli keseneği
TextBox27.Value = Format(ActiveCell.Offset(0, 32).Value, "#,##0.00") 'Sendika ödeneği
TextBox28.Value = Format(ActiveCell.Offset(0, 68).Value, "#,##0.00") 'Denge Tazminatı
TextBox29.Value = Format(ActiveCell.Offset(0, 69).Value, "#,##0.00") '% 20 Emekli keseneği
TextBox30.Value = Format(ActiveCell.Offset(0, 72).Value, "#,##0.00") 'Sendika ödeneği
TextBox47.Value = Format(ActiveCell.Offset(0, 67).Value, "#,##0.00") 'kesif Ücreti
TextBox31.Value = ActiveCell.Offset(0, 40).Value 'Gelir Vergisi
TextBox32.Value = ActiveCell.Offset(0, 41).Value 'Damga Vergisi
TextBox33.Value = ActiveCell.Offset(0, 38).Value '% 16 Emekli keseneği
TextBox34.Value = ActiveCell.Offset(0, 37).Value '% 20 Emekli keseneği
TextBox35.Value = ActiveCell.Offset(0, 51).Value '% 16 Emekli keseneği
TextBox36.Value = ActiveCell.Offset(0, 52).Value '% 20 Emekli keseneği
TextBox37.Value = ActiveCell.Offset(0, 71).Value '% 20 Emekli keseneği
TextBox38.Value = ActiveCell.Offset(0, 42).Value '% 16 Emekli keseneği
TextBox39.Value = ActiveCell.Offset(0, 63).Value '% 20 Emekli keseneği
TextBox40.Value = ActiveCell.Offset(0, 50).Value 'Lojman Kirası
TextBox41.Value = ActiveCell.Offset(0, 66).Value 'Artış Keseneği
TextBox42.Value = ActiveCell.Offset(0, 59).Value 'Lojman Kirası
TextBox43.Value = ActiveCell.Offset(0, 70).Value 'Artış Keseneği
TextBox48.Value = ActiveCell.Offset(0, 55).Value 'Lojman Kirası
TextBox49.Value = ActiveCell.Offset(0, 56).Value 'Artış Keseneği
TextBox46.Value = Format(CDbl(TextBox46) + CDbl(TextBox47), "#,##0.00")
'Formunuz Üzerindeki Textbox'ların Veri Alacağı Satırları Bu Şekilde Ayarlayın.
'GERİSİNİ SİZE BIRAKTIM.
End Sub

Private Sub SpinButton1_SpinDown()
Sheets("Data").Select
If TextBox44.Value = "" Then
MsgBox "Sorgu Çalıştırmak İçin Herhangi Bir Bilgi Giriniz..."
Exit Sub
End If
Cells(ActiveCell.Row - 1, 1).Select

TextBox1.Value = ActiveCell.Value 'Sıra No
TextBox2.Value = ActiveCell.Offset(0, 1).Value 'Personel No
TextBox3.Value = ActiveCell.Offset(0, 2).Value 'Ünvanı
TextBox4.Value = ActiveCell.Offset(0, 3).Value 'Adı
TextBox5.Value = ActiveCell.Offset(0, 4).Value 'Soyadı
TextBox6.Value = ActiveCell.Offset(0, 5).Value 'Aylık Derece Kademe 1
TextBox45.Value = ActiveCell.Offset(0, 6).Value 'Aylık Derece Kademe 1
TextBox7.Value = ActiveCell.Offset(0, 9).Value 'Medeni Hali
TextBox8.Value = ActiveCell.Offset(0, 13).Value 'Gösterge
TextBox9.Value = ActiveCell.Offset(0, 15).Value 'Ek Gösterge
TextBox10.Value = ActiveCell.Offset(0, 18).Value 'Kıdem Yılı
TextBox14.Value = ActiveCell.Offset(0, 26).Value 'Kıstas Aylık Oranı
TextBox11.Value = ActiveCell.Offset(0, 48).Value 'Emekli Sicil No
TextBox12.Value = ActiveCell.Offset(0, 47).Value 'TC.-Vergi Kimlik No
TextBox13.Value = ActiveCell.Offset(0, 46).Value 'Banka Hesap No
TextBox15.Value = Format(ActiveCell.Offset(0, 14).Value, "#,##0.00") 'Aylık
TextBox16.Value = Format(ActiveCell.Offset(0, 16).Value, "#,##0.00") 'Ek Gösterge
TextBox17.Value = Format(ActiveCell.Offset(0, 17).Value, "#,##0.00") 'Taban Aylık
TextBox18.Value = Format(ActiveCell.Offset(0, 19).Value, "#,##0.00") 'Kıdem Aylığı
TextBox19.Value = Format(ActiveCell.Offset(0, 21).Value, "#,##0.00") 'Çocuk Yardımı
TextBox20.Value = Format(ActiveCell.Offset(0, 23).Value, "#,##0.00") 'Aile Yardımı
TextBox21.Value = Format(ActiveCell.Offset(0, 36).Value, "#,##0.00") 'Yan Ödeme
TextBox22.Value = Format(ActiveCell.Offset(0, 25).Value, "#,##0.00") 'Özel Hizmet Tazminatı
TextBox23.Value = Format(ActiveCell.Offset(0, 29).Value, "#,##0.00") 'Yargı Ödeneği
TextBox24.Value = Format(ActiveCell.Offset(0, 27).Value, "#,##0.00") 'Kıstas Aylık
TextBox25.Value = Format(ActiveCell.Offset(0, 31).Value, "#,##0.00") 'Denge Tazminatı
TextBox26.Value = Format(ActiveCell.Offset(0, 37).Value, "#,##0.00") '% 20 Emekli keseneği
TextBox27.Value = Format(ActiveCell.Offset(0, 32).Value, "#,##0.00") 'Sendika ödeneği
TextBox28.Value = Format(ActiveCell.Offset(0, 68).Value, "#,##0.00") 'Denge Tazminatı
TextBox29.Value = Format(ActiveCell.Offset(0, 69).Value, "#,##0.00") '% 20 Emekli keseneği
TextBox30.Value = Format(ActiveCell.Offset(0, 72).Value, "#,##0.00") 'Sendika ödeneği
TextBox47.Value = Format(ActiveCell.Offset(0, 67).Value, "#,##0.00") 'kesif Ücreti
TextBox31.Value = ActiveCell.Offset(0, 40).Value 'Gelir Vergisi
TextBox32.Value = ActiveCell.Offset(0, 41).Value 'Damga Vergisi
TextBox33.Value = ActiveCell.Offset(0, 38).Value '% 16 Emekli keseneği
TextBox34.Value = ActiveCell.Offset(0, 37).Value '% 20 Emekli keseneği
TextBox35.Value = ActiveCell.Offset(0, 51).Value '% 16 Emekli keseneği
TextBox36.Value = ActiveCell.Offset(0, 52).Value '% 20 Emekli keseneği
TextBox37.Value = ActiveCell.Offset(0, 71).Value '% 20 Emekli keseneği
TextBox38.Value = ActiveCell.Offset(0, 42).Value '% 16 Emekli keseneği
TextBox39.Value = ActiveCell.Offset(0, 63).Value '% 20 Emekli keseneği
TextBox40.Value = ActiveCell.Offset(0, 50).Value 'Lojman Kirası
TextBox41.Value = ActiveCell.Offset(0, 66).Value 'Artış Keseneği
TextBox42.Value = ActiveCell.Offset(0, 59).Value 'Lojman Kirası
TextBox43.Value = ActiveCell.Offset(0, 70).Value 'Artış Keseneği
TextBox48.Value = ActiveCell.Offset(0, 55).Value 'Lojman Kirası
TextBox49.Value = ActiveCell.Offset(0, 56).Value 'Artış Keseneği
TextBox46.Value = Format(CDbl(TextBox46) + CDbl(TextBox47), "#,##0.00")
'Formunuz Üzerindeki Textbox'ların Veri Alacağı Satırları Bu Şekilde Ayarlayın.
'GERİSİNİ SİZE BIRAKTIM.
End Sub

Private Sub SpinButton1_SpinUp()
Sheets("Data").Select
If TextBox44.Value = "" Then
MsgBox "Sorgu Çalıştırmak İçin Herhangi Bir Bilgi Giriniz..."
Exit Sub
End If
Cells(ActiveCell.Row + 1, 1).Select

TextBox1.Value = ActiveCell.Value 'Sıra No
TextBox2.Value = ActiveCell.Offset(0, 1).Value 'Personel No
TextBox3.Value = ActiveCell.Offset(0, 2).Value 'Ünvanı
TextBox4.Value = ActiveCell.Offset(0, 3).Value 'Adı
TextBox5.Value = ActiveCell.Offset(0, 4).Value 'Soyadı
TextBox6.Value = ActiveCell.Offset(0, 5).Value 'Aylık Derece Kademe 1
TextBox45.Value = ActiveCell.Offset(0, 6).Value 'Aylık Derece Kademe 1
TextBox7.Value = ActiveCell.Offset(0, 9).Value 'Medeni Hali
TextBox8.Value = ActiveCell.Offset(0, 13).Value 'Gösterge
TextBox9.Value = ActiveCell.Offset(0, 15).Value 'Ek Gösterge
TextBox10.Value = ActiveCell.Offset(0, 18).Value 'Kıdem Yılı
TextBox14.Value = ActiveCell.Offset(0, 26).Value 'Kıstas Aylık Oranı
TextBox11.Value = ActiveCell.Offset(0, 48).Value 'Emekli Sicil No
TextBox12.Value = ActiveCell.Offset(0, 47).Value 'TC.-Vergi Kimlik No
TextBox13.Value = ActiveCell.Offset(0, 46).Value 'Banka Hesap No
TextBox15.Value = Format(ActiveCell.Offset(0, 14).Value, "#,##0.00") 'Aylık
TextBox16.Value = Format(ActiveCell.Offset(0, 16).Value, "#,##0.00") 'Ek Gösterge
TextBox17.Value = Format(ActiveCell.Offset(0, 17).Value, "#,##0.00") 'Taban Aylık
TextBox18.Value = Format(ActiveCell.Offset(0, 19).Value, "#,##0.00") 'Kıdem Aylığı
TextBox19.Value = Format(ActiveCell.Offset(0, 21).Value, "#,##0.00") 'Çocuk Yardımı
TextBox20.Value = Format(ActiveCell.Offset(0, 23).Value, "#,##0.00") 'Aile Yardımı
TextBox21.Value = Format(ActiveCell.Offset(0, 36).Value, "#,##0.00") 'Yan Ödeme
TextBox22.Value = Format(ActiveCell.Offset(0, 25).Value, "#,##0.00") 'Özel Hizmet Tazminatı
TextBox23.Value = Format(ActiveCell.Offset(0, 29).Value, "#,##0.00") 'Yargı Ödeneği
TextBox24.Value = Format(ActiveCell.Offset(0, 27).Value, "#,##0.00") 'Kıstas Aylık
TextBox25.Value = Format(ActiveCell.Offset(0, 31).Value, "#,##0.00") 'Denge Tazminatı
TextBox26.Value = Format(ActiveCell.Offset(0, 37).Value, "#,##0.00") '% 20 Emekli keseneği
TextBox27.Value = Format(ActiveCell.Offset(0, 32).Value, "#,##0.00") 'Sendika ödeneği
TextBox28.Value = Format(ActiveCell.Offset(0, 68).Value, "#,##0.00") 'Denge Tazminatı
TextBox29.Value = Format(ActiveCell.Offset(0, 69).Value, "#,##0.00") '% 20 Emekli keseneği
TextBox30.Value = Format(ActiveCell.Offset(0, 72).Value, "#,##0.00") 'Sendika ödeneği
TextBox47.Value = Format(ActiveCell.Offset(0, 67).Value, "#,##0.00") 'kesif Ücreti
TextBox31.Value = ActiveCell.Offset(0, 40).Value 'Gelir Vergisi
TextBox32.Value = ActiveCell.Offset(0, 41).Value 'Damga Vergisi
TextBox33.Value = ActiveCell.Offset(0, 38).Value '% 16 Emekli keseneği
TextBox34.Value = ActiveCell.Offset(0, 37).Value '% 20 Emekli keseneği
TextBox35.Value = ActiveCell.Offset(0, 51).Value '% 16 Emekli keseneği
TextBox36.Value = ActiveCell.Offset(0, 52).Value '% 20 Emekli keseneği
TextBox37.Value = ActiveCell.Offset(0, 71).Value '% 20 Emekli keseneği
TextBox38.Value = ActiveCell.Offset(0, 42).Value '% 16 Emekli keseneği
TextBox39.Value = ActiveCell.Offset(0, 63).Value '% 20 Emekli keseneği
TextBox40.Value = ActiveCell.Offset(0, 50).Value 'Lojman Kirası
TextBox41.Value = ActiveCell.Offset(0, 66).Value 'Artış Keseneği
TextBox42.Value = ActiveCell.Offset(0, 59).Value 'Lojman Kirası
TextBox43.Value = ActiveCell.Offset(0, 70).Value 'Artış Keseneği
TextBox48.Value = ActiveCell.Offset(0, 55).Value 'Lojman Kirası
TextBox49.Value = ActiveCell.Offset(0, 56).Value 'Artış Keseneği
TextBox46.Value = Format(CDbl(TextBox46) + CDbl(TextBox47), "#,##0.00")
'Formunuz Üzerindeki Textbox'ların Veri Alacağı Satırları Bu Şekilde Ayarlayın.
'GERİSİNİ SİZE BIRAKTIM.
End Sub
 
Son düzenleme:
Katılım
8 Haziran 2007
Mesajlar
761
Excel Vers. ve Dili
excel- 2003 Türkçe
çok teşekkür ederim. Yukarıda bahsettiğiniz konuyu bende yeni farkettim. Şuan ileriye dönük olarak ne yapabilirim diye duşünüyorum. Textboxları yeniden numaralandırdım ama bukezde kodları değiştirmek sıkıntı olacak.

Ne tavsiye edersiniz. Şuan bu işimi görüyor. Ama ileride yeni bir textbox falan eklemek gerekirse ne yapılabilir.
 
Üst