İki tarih arası toplama

Cengizhantr06

Altın Üye
Katılım
16 Mayıs 2020
Mesajlar
200
Excel Vers. ve Dili
Office 365 Türkçe
Hareketler adlı sayfada a sütünda isimler var g sütünda fiyat ve h sütünda tarihler var
Textbox1 değişken isim
Textbox2 başlangıç tarihi
Textbox3 bitiş tarihi
Textbox3 = toplam
Bunu VBA kodunu yazabilirmisiniz
 

Korhan Ayhan

Moderatör
Yönetici
Katılım
15 Mart 2005
Mesajlar
30,301
Excel Vers. ve Dili
OFFICE 2019 PRO TR
Deneyiniz.

C++:
Option Explicit

Private Sub CommandButton1_Click()
    Dim S1 As Worksheet, Toplam As Double
    Set S1 = Sheets("Hareketler")
    Toplam = Application.WorksheetFunction.SumIfs(S1.Range("G:G"), S1.Range("A:A"), TextBox1, S1.Range("H:H"), ">=" & CLng(CDate(TextBox2)), S1.Range("H:H"), "<=" & CLng(CDate(TextBox3)))
    MsgBox Toplam
End Sub
 

Cengizhantr06

Altın Üye
Katılım
16 Mayıs 2020
Mesajlar
200
Excel Vers. ve Dili
Office 365 Türkçe
Deneyiniz.

C++:
Option Explicit

Private Sub CommandButton1_Click()
    Dim S1 As Worksheet, Toplam As Double
    Set S1 = Sheets("Hareketler")
    Toplam = Application.WorksheetFunction.SumIfs(S1.Range("G:G"), S1.Range("A:A"), TextBox1, S1.Range("H:H"), ">=" & CLng(CDate(TextBox2)), S1.Range("H:H"), "<=" & CLng(CDate(TextBox3)))
    MsgBox Toplam
End Sub
Çok teşekkür ederim tam istediğim gibi oldu çok sağolun Korhan Bey ilginiz için ☺
 

Cengizhantr06

Altın Üye
Katılım
16 Mayıs 2020
Mesajlar
200
Excel Vers. ve Dili
Office 365 Türkçe
Çok teşekkür ederim tam istediğim gibi oldu çok sağolun Korhan Bey ilginiz için ☺
Korhan bey bu kodda değişken kısmına combobox koydum ama listede aynı isimle başlayan veriler olduğu için hepsini buluyor mesala Denizbank arıyom ama listede Denizbank imece de kayıtlı bu kez ikisini birden toplatıyor sadece yazılan isimleri bulmasını nasıl sağlayabilrim
 

Korhan Ayhan

Moderatör
Yönetici
Katılım
15 Mart 2005
Mesajlar
30,301
Excel Vers. ve Dili
OFFICE 2019 PRO TR
Yaptığınız değişikliği paylaşırsanız inceleme şansımız olur.
 

Cengizhantr06

Altın Üye
Katılım
16 Mayıs 2020
Mesajlar
200
Excel Vers. ve Dili
Office 365 Türkçe
Yaptığınız değişikliği paylaşırsanız inceleme şansımız olur.
listede mesala denizbank var ve denizbank vadeli var ben denizbank seçince sade denizbankı toplasın ama
ikiside denizbank ile başladığı için onuda topluyor

Sub ototopla()
On Error Resume Next
Dim S1 As Worksheet, Toplam As Double
Set S1 = Sheets("girisler")
Toplam = Application.WorksheetFunction.SumIfs(S1.Range("K:K"), S1.Range("C:C"), ComboBox6, S1.Range("B:B"), ">=" & CLng(CDate(TextBox55)), S1.Range("B:B"), "<=" & CLng(CDate(TextBox56)))
TextBox61.Value = Toplam
End Sub
 

Korhan Ayhan

Moderatör
Yönetici
Katılım
15 Mart 2005
Mesajlar
30,301
Excel Vers. ve Dili
OFFICE 2019 PRO TR
Koda göre eğer ilgili nesnede sadece Denizbank yazıyorsa bahsettiğiniz şekilde toplamaması gerekir.
 

Korhan Ayhan

Moderatör
Yönetici
Katılım
15 Mart 2005
Mesajlar
30,301
Excel Vers. ve Dili
OFFICE 2019 PRO TR
Örnek dosya paylaşır mısınız?
 

Cengizhantr06

Altın Üye
Katılım
16 Mayıs 2020
Mesajlar
200
Excel Vers. ve Dili
Office 365 Türkçe

Ekli dosyalar

Korhan Ayhan

Moderatör
Yönetici
Katılım
15 Mart 2005
Mesajlar
30,301
Excel Vers. ve Dili
OFFICE 2019 PRO TR
İlk olarak TextBox61 nesnesinin Change olayını silin.

Daha sonra toplama işlemi aşağıdaki gibi güncelleyip deneyiniz.

C++:
Sub ototopla()
    Dim S1 As Worksheet, Toplam As Double
    Set S1 = Sheets("girisler")
    Toplam = Application.WorksheetFunction.SumIfs(S1.Range("K:K"), S1.Range("C:C"), ComboBox6, S1.Range("B:B"), ">=" & CLng(CDate(TextBox55)), S1.Range("B:B"), "<=" & CLng(CDate(TextBox56)))
    TextBox61.Value = Toplam
    TextBox61 = Format(Replace(TextBox61, ".", ","), "#,##0.00")
End Sub
 

Cengizhantr06

Altın Üye
Katılım
16 Mayıs 2020
Mesajlar
200
Excel Vers. ve Dili
Office 365 Türkçe
İlk olarak TextBox61 nesnesinin Change olayını silin.

Daha sonra toplama işlemi aşağıdaki gibi güncelleyip deneyiniz.

C++:
Sub ototopla()
    Dim S1 As Worksheet, Toplam As Double
    Set S1 = Sheets("girisler")
    Toplam = Application.WorksheetFunction.SumIfs(S1.Range("K:K"), S1.Range("C:C"), ComboBox6, S1.Range("B:B"), ">=" & CLng(CDate(TextBox55)), S1.Range("B:B"), "<=" & CLng(CDate(TextBox56)))
    TextBox61.Value = Toplam
    TextBox61 = Format(Replace(TextBox61, ".", ","), "#,##0.00")
End Sub
Korhan bey size diyecek birsey bulamıyorum tek kelimeyle harikasınız 👍☺
 
Üst