İki tarih arası toplama

Cengizhantr06

Altın Üye
Katılım
16 Mayıs 2020
Mesajlar
301
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

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,313
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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
301
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
301
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

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,313
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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
301
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

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,313
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Koda göre eğer ilgili nesnede sadece Denizbank yazıyorsa bahsettiğiniz şekilde toplamaması gerekir.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,313
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Örnek dosya paylaşır mısınız?
 

Cengizhantr06

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

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,313
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
İ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
301
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 👍☺
 
Katılım
22 Aralık 2021
Mesajlar
14
Excel Vers. ve Dili
vba
TEXTBOX1'e A SÜTUNUNDA İLK TARİH GİRİLECEK
TEXTBOX2 'ye A SÜTÜNUNDAN SON TARİH GİRİLECEK
B SÜTUNUNDA TARİHLER ARASINDAKİ VERİLER BULUNMAKTA

İKİ TARİH ARASINDAKİ VERİLERİN "ORTALAMASINI" BULAN KODU TEXTBOX3' e NASIL YAZDIRABİLİRİM...
 

Korhan Ayhan

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

Büyük harfle yazmanızın özel bir sebebi var mı?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,313
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Size sağlıklı cevap verebilmemiz için profilinizde görünen aşağıdaki bölüme "vba" değilde kullandığınız ofis sürümümü ve dilini yazmanız daha uygun olacaktır.

Excel Vers. ve Dili: vba

Bizlerin profiline bakarak güncelleyebilirsiniz.
 
Üst