SumIfs hakkında

Katılım
12 Kasım 2022
Mesajlar
17
Excel Vers. ve Dili
Exel 2013 Türkçe
Altın Üyelik Bitiş Tarihi
14-11-2023
Merhaba SumIfs ile toplam alıyorum

Me.ListBox3.List(ListBox3.ListCount - 1, 1) = Application.WorksheetFunction.SumIfs(Sheets("Takip").Range("G:G"), Sheets("Takip").Range("D:D"), _
">=" & a, Sheets("Takip").Range("D:D"), "<=" & B, Sheets("Takip").Range("B:B"), ListBox1.Selected(i) = True)
İfadesini kullanınca toplamlar gelmiyor neden olabilir
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
ListBox1.Selected(i) = True yerine ListBox1.Selected(i)

Yukarıdaki ifadedeki True'yi kaldırın.
 
Katılım
12 Kasım 2022
Mesajlar
17
Excel Vers. ve Dili
Exel 2013 Türkçe
Altın Üyelik Bitiş Tarihi
14-11-2023
Dediğinizi yaptım ama ListBox2 de gözüken Personel değerlerinin Ocak ayı için toplamları gelmiyor. Sadece ListBox1.Selected(i) = ListBox1.Selected(i) yerine "ALİ ŞAN" gibi değer yazarsam toplamlar geliyor . Fakat ben Sadece ListBox1 de seçili olan kişinin saat toplamları aylık olarak gelsin istiyorum tablolamada yada başka bir yerde mantık hatası yapıyorum sanırım bir türlü çözemedim.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
ListBox1.List(0, 0) yazarak deneyin.
 
Katılım
12 Kasım 2022
Mesajlar
17
Excel Vers. ve Dili
Exel 2013 Türkçe
Altın Üyelik Bitiş Tarihi
14-11-2023
WorksheetFunction sınıfının SumIfs özelliği alınamıyor hatası veriyor
 
Katılım
12 Kasım 2022
Mesajlar
17
Excel Vers. ve Dili
Exel 2013 Türkçe
Altın Üyelik Bitiş Tarihi
14-11-2023
Çok teşekkür ederim form 1 de personel id ile flitreledim onu birde acemilik iste yeni ogreniyorum
 
Katılım
12 Kasım 2022
Mesajlar
17
Excel Vers. ve Dili
Exel 2013 Türkçe
Altın Üyelik Bitiş Tarihi
14-11-2023
Son bir şey daha sormak istiyorum isimi size yaptırmak degil amacım kusura bakmayın ama listbox3 deki ay degerlerini değerleri60 ve 8 böldükten sonra kalan dk değerini bir sonraki ay a ekletebilirmiyiz Misal ocak 380 dk 6 saat 20 dk 8 saatten küçük olduğundan şubata 380 dk ekleyecek 560 dk olsaydı 9 saat 20 dk 1 saat 20 dk yi yani 80 dk bir sonraki aya ekleyecek
 
Katılım
12 Kasım 2022
Mesajlar
17
Excel Vers. ve Dili
Exel 2013 Türkçe
Altın Üyelik Bitiş Tarihi
14-11-2023
Merhaba , Ekdeki kodu kabul etmedi. ListBox içinde ListBox( i+1, 1) gibi ifade yazamıyoruz sanırım sadece Dizilerde mi yazabiliyoruz


Dim l As Long

ListBox3.AddItem
For i = 0 To ListBox3.ListCount - 1
l = Fix(ListBox3.List(i, 1) / 60 / 8)
If l < 1 Then
ListBox3.List(i, 2) = 0
ListBox3.List(i + 1, 1) = CDbl(ListBox3.List(i, 1)) + CDbl(ListBox3.List(i + 1, 1))
Else
ListBox3.List(i, 2) = l
ListBox3.List(i + 1, 1) = CDbl(CDbl(ListBox3.List(i, 1) Mod 60)) + CDbl(ListBox3.List(i + 1, 1))
End If
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Hata başka yerdedir.

i+1 kullanabilirsiniz.
Tek kısıt, buradaki i+1 değer listboxdaki eleman sayısından bir eksik olsun.
Mesela Listboxda toplam 4 satır değeriniz varsa
ListBox(i+1,1) ifadesinde i+1=0-1-2-3 den biri olmalıdır.
 
Katılım
12 Kasım 2022
Mesajlar
17
Excel Vers. ve Dili
Exel 2013 Türkçe
Altın Üyelik Bitiş Tarihi
14-11-2023
Çok teşekkur ederim dediğiniz gibiymiş süpersiniz. For döngüsü çalişiyor fakat kalan bakiyeyi her aya atıyor. Kalan bakiyeyi sadece bir sonraki aya atmasını nasıl sağlarım. Örneğin
Ocak 660 dk 990/60 =16,5 saat 1 gün 8 saat den 2 gün 30 dk
Şubat 30 dk
Mart 30 dk
"
"
"
Tüm aylara ekliyor. Sadece 1 sonraki aya ekleyecek bir sonraki ay 1 günü bulursa diğer aya ekleyecek şekilde nasıl olur. Sizi yoruyorsam kusura bakmayın
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Dosyanızın ya da kodlarınızın ilgili kısmını belirterek sorabilirseniz benim için daha anlaşılır olacaktır.
 
Katılım
12 Kasım 2022
Mesajlar
17
Excel Vers. ve Dili
Exel 2013 Türkçe
Altın Üyelik Bitiş Tarihi
14-11-2023
Private Sub ComboBox1_Change()

ListBox3.Clear

For y = 0 To 11

a = Application.WorksheetFunction.EDate("1" & "/" & "January" & "/" & Me.ComboBox1.Value, y)
B = Application.WorksheetFunction.EoMonth("1" & "/" & "January" & "/" & Me.ComboBox1.Value, y)

Me.ListBox3.AddItem Format(a, "MMMM")
For i = 0 To ListBox3.ListCount - 1
Me.ListBox3.List(ListBox3.ListCount - 1, 1) = Application.WorksheetFunction.SumIfs(Sheets("Takip").Range("G:G"), Sheets("Takip").Range("D:D"), _
">=" & a, Sheets("Takip").Range("D:D"), "<=" & B, Sheets("Takip").Range("B:B"), ListBox1.List(0, 0))

Next i
Next y
End Sub

kalan bakiyeyi her aya atıyor. Kalan bakiyeyi sadece bir sonraki aya atmasını nasıl sağlarım. Örneğin
Ocak 660 dk 990/60 =16,5 saat 1 gün 8 saat den 2 gün 30 dk
Şubat 30 dk
Mart 30 dk
"
"
"
Tüm aylara ekliyor. Sadece 1 sonraki aya ekleyecek bir sonraki ay 1 günü bulursa diğer aya ekleyecek şekilde nasıl olur.
 

Ekli dosyalar

Katılım
12 Kasım 2022
Mesajlar
17
Excel Vers. ve Dili
Exel 2013 Türkçe
Altın Üyelik Bitiş Tarihi
14-11-2023

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Dosyanızı incelemeye çalıştım. Ancak çok karışık. Kusura bakmayın.
 
Katılım
12 Kasım 2022
Mesajlar
17
Excel Vers. ve Dili
Exel 2013 Türkçe
Altın Üyelik Bitiş Tarihi
14-11-2023
Teşekkur ederim baktığınız için . Bende kurgu hatası var sanırım. ComboBox ın değişimi ile yani 2022- 2023 geçerken 2022 in son bakiyesinin 2023 geçmesi ve işlemlerin devam etmesini istedim ama ComboBox değişince ListBox ı baştan hesapladığı için 2022 in son değerini görmüyor.
 
Katılım
25 Ocak 2020
Mesajlar
6
Excel Vers. ve Dili
2019
Altın Üyelik Bitiş Tarihi
11-10-2024
Merhaba değerli grup üyeleri, "Aktifnorm" sayfasına "Norm" sayfasından "sumıfs" formülü ile toplam tutar bilgisi çekmek istiyorum ancak ne yapsam formülü çalıştıramadım. Konu hakkında örnek excel üzerinde yardımcı olabilirseniz sevinirim.
Şimdiden teşekkür ederim.
 

Ekli dosyalar

Üst