• DİKKAT

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

SumIfs hakkında

  • Konbuyu başlatan Konbuyu başlatan UegeN
  • Başlangıç tarihi Başlangıç tarihi
Katılım
12 Kasım 2022
Mesajlar
17
Excel Vers. ve Dili
Exel 2013 Türkçe
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
 
ListBox1.Selected(i) = True yerine ListBox1.Selected(i)

Yukarıdaki ifadedeki True'yi kaldırın.
 
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.
 
ListBox1.List(0, 0) yazarak deneyin.
 
WorksheetFunction sınıfının SumIfs özelliği alınamıyor hatası veriyor
 
Çok teşekkür ederim form 1 de personel id ile flitreledim onu birde acemilik iste yeni ogreniyorum
 
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
 
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
 
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.
 
Ç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
 
Dosyanızın ya da kodlarınızın ilgili kısmını belirterek sorabilirseniz benim için daha anlaşılır olacaktır.
 
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

Dosyanızı incelemeye çalıştım. Ancak çok karışık. Kusura bakmayın.
 
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.
 
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

Geri
Üst