Listbox sutunundaki kritere göre toplama

Katılım
21 Mart 2005
Mesajlar
200
Excel Vers. ve Dili
Ofiice 2013
Listboxta 1 kolonda c harfine karşılık gelen 2 colondaki sayıları textbox1 re ve b harfine karşılık gelenleri textbox2ye toplamını aldırmak istiyorum.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,734
Excel Vers. ve Dili
Excel 2019 Türkçe
Aşağıdaki şekilde deneyin
Kod:
Private Sub CommandButton1_Click()
son = [a65536].End(3).Row
TextBox1 = WorksheetFunction.SumIf(Range("a1:" & "a" & son), "c", Range("b1:" & "b" & son))
TextBox2 = WorksheetFunction.SumIf(Range("a1:" & "a" & son), "b", Range("b1:" & "b" & son))
End Sub
 

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,218
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
yanıt

Kod:
Private Sub TextBox1_Change()
ListBox1.Clear
ListBox1.ColumnCount = 2
TextBox2 = Empty
For sut = 1 To [a65536].End(3).Row
If Range("a" & sut) Like TextBox1 & "*" Then
ListBox1.AddItem
ListBox1.List(s, 0) = Range("a" & sut)
ListBox1.List(s, 1) = Range("b" & sut)
TextBox2 = Val(TextBox2) + ListBox1.List(s, 1)
s = s + 1
End If
Next
End Sub
Private Sub UserForm_Initialize()
TextBox1 = "."
TextBox1 = ""
End Sub
 
Katılım
21 Mart 2005
Mesajlar
200
Excel Vers. ve Dili
Ofiice 2013
Arkadaşlar cevaplarınız için teşekkür ederim.
ama ben bu şekilde değil de sadece listboxta ki verileri koşula göre toplamını lamasını istedim. Örnek olarak dosyayı hazırlamıştım. demek istediğim exel sayfasıyla hiç bir bağlantı kurulmadan sadece listboxta toplamını almak istiyorum. teşekkürler saygılar.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,734
Excel Vers. ve Dili
Excel 2019 Türkçe
listbox içindeki verileri sayfadan aldığınızı belirtmişsiniz. Sayfadaki veri ile listboxdaki veriler arasında farklılık var mı?
 
Katılım
21 Mart 2005
Mesajlar
200
Excel Vers. ve Dili
Ofiice 2013
Hata benim kusura bakmayın. örnek dosyadaki açıklamada belirtmiştim. verileri mdb dosyasından çekiyorum. asıl dosya büyük olduğu için göndermedim.
örnek hazırladım farklılık var yani listboxın birinci sutunundaki kritere göre textbox1 ve textbox2 ye toplam aldırmam gerekiyor. kısa olsun diye harf yazdım ama bu değişikte olabilir mi? saygılar.
 

Korhan Ayhan

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

Aşağıdaki kodu denermisiniz.

Kod:
Private Sub CommandButton1_Click()
    Dim Toplam1, Toplam2 As Double
    If ListBox1.ListCount = 0 Then Exit Sub
    For X = 0 To ListBox1.ListCount - 1
    If ListBox1.List(X, 0) = "c" Then
    Toplam1 = CDbl(Toplam1) + CDbl(ListBox1.List(X, 1))
    End If
    If ListBox1.List(X, 0) = "b" Then
    Toplam2 = CDbl(Toplam2) + CDbl(ListBox1.List(X, 1))
    End If
    Next
    TextBox1 = Format(Toplam1, "#,##0.00")
    TextBox2 = Format(Toplam2, "#,##0.00")
End Sub
 
Üst