veri girişi liste fonksıyonu...

Katılım
18 Eylül 2018
Mesajlar
95
Excel Vers. ve Dili
Ofis 365 TR - 64 Bit
merhaba arkadaşalar.

bir tablom var a hücresinde "verişi girişi menüsünden " liste " kullanarak 4 veri kaydettim. büro kasa
mobil kasa, ve 2 kredi kartı kasa olarak belirledim. A hücresindeki liste fonksiyonu kullanarak "B hücresine" seçilen verinin harcamalarının gelmesini istiyorum .


yardımcı olursanız sevinirim.
 
Merhaba,

Örnek dosya ekleyerek açıklayınız.


.
 
Makrolu çözüm;

icmal sayfasında;
* B ve C kriterleri beraber tarih sayfalarında, F-G ve J-K sütunlarında aranır
* Sadece B kriterleri tarih sayfalarında, D sütununda aranır
* B sütunu boş ise, sadece C kriterleri tarih sayfalarında, F-J sütununlarında aranır

İlk sayfa hariç diğer tüm sayfaları işleme alır.



C#:
Sub icmalyap()
'www.asriakdeniz.com - asriakdeniz@gmail.com
Dim wSh As Worksheet
sonsatir = Cells(Rows.Count, "C").End(3).Row
Range("D5:E10000").ClearContents
For j = 5 To sonsatir
    For i = 2 To Sheets.Count
        Set shw = Sheets(i)
        If Range("B" & j) <> "" Then
            Range("D" & j).Value = Range("D" & j).Value + Application.WorksheetFunction.SumIf(shw.Range("D:D"), Range("B" & j), shw.Range("H:H"))
            Range("E" & j).Value = Range("E" & j).Value + Application.WorksheetFunction.SumIf(shw.Range("D:D"), Range("B" & j), shw.Range("L:L"))
            
            Range("D" & j).Value = Range("D" & j).Value + Application.WorksheetFunction.SumIfs(shw.Range("H:H"), shw.Range("F:F"), Range("C" & j), shw.Range("G:G"), Range("B" & j))
            Range("E" & j).Value = Range("E" & j).Value + Application.WorksheetFunction.SumIfs(shw.Range("L:L"), shw.Range("J:J"), Range("C" & j), shw.Range("K:K"), Range("B" & j))
        Else
            Range("D" & j).Value = Range("D" & j).Value + Application.WorksheetFunction.SumIf(shw.Range("F:F"), Range("C" & j), shw.Range("H:H"))
            Range("E" & j).Value = Range("E" & j).Value + Application.WorksheetFunction.SumIf(shw.Range("J:J"), Range("C" & j), shw.Range("L:L"))
        End If
    Next i
Next j
End Sub
 
Makrolu çözüm;
.... hocam cok tşk ederim:) cok mutlu ettiniz beni.

icmal sayfasındaki kasaların verileri karışıyor gibi.. b sütununda seçilen(kasa) verinin nakit veya cek bir kasa olarak değil kasaya bir secenek olarak algılarsa raporlama çok daha iyi olacak sanki.
icmal sayfasında;

***hocam: ana kasa olarak "Büro, mobil ve tafics" olarak kullanıyorum. Bu 3 kasanın günlük 1 ay olarak sayfalara ayırıyorum. Bu 3 kasanın ödeme şekli olarak 1. kredi kartı(numaraları belirtirmiş olan kartlar.)2. nakit 3. çek. seçenekleri ile 3 kasaya girişi ve çıkışı olarak düşündüm. kalan olarak her kasanın kendine ait tutarı belli olursa süper olur.

şimdiden tşk ederim her şey işin hocam....

* B ve C kriterleri beraber tarih sayfalarında, F-G ve J-K sütunlarında aranır
* Sadece B kriterleri tarih sayfalarında, D sütununda aranır
* B sütunu boş ise, sadece C kriterleri tarih sayfalarında, F-J sütununlarında aranır

İlk sayfa hariç diğer tüm sayfaları işleme alır.



C#:
Sub icmalyap()
'www.asriakdeniz.com - asriakdeniz@gmail.com
Dim wSh As Worksheet
sonsatir = Cells(Rows.Count, "C").End(3).Row
Range("D5:E10000").ClearContents
For j = 5 To sonsatir
    For i = 2 To Sheets.Count
        Set shw = Sheets(i)
        If Range("B" & j) <> "" Then
            Range("D" & j).Value = Range("D" & j).Value + Application.WorksheetFunction.SumIf(shw.Range("D:D"), Range("B" & j), shw.Range("H:H"))
            Range("E" & j).Value = Range("E" & j).Value + Application.WorksheetFunction.SumIf(shw.Range("D:D"), Range("B" & j), shw.Range("L:L"))
            
            Range("D" & j).Value = Range("D" & j).Value + Application.WorksheetFunction.SumIfs(shw.Range("H:H"), shw.Range("F:F"), Range("C" & j), shw.Range("G:G"), Range("B" & j))
            Range("E" & j).Value = Range("E" & j).Value + Application.WorksheetFunction.SumIfs(shw.Range("L:L"), shw.Range("J:J"), Range("C" & j), shw.Range("K:K"), Range("B" & j))
        Else
            Range("D" & j).Value = Range("D" & j).Value + Application.WorksheetFunction.SumIf(shw.Range("F:F"), Range("C" & j), shw.Range("H:H"))
            Range("E" & j).Value = Range("E" & j).Value + Application.WorksheetFunction.SumIf(shw.Range("J:J"), Range("C" & j), shw.Range("L:L"))
        End If
    Next i
Next j
End Sub
 
Son düzenleme:
hocam: ana kasa olarak "Büro, mobil ve tafics" olarak kullanıyorum. Bu 3 kasanın günlük 1 ay olarak sayfalara ayırıyorum. Bu 3 kasanın ödeme şekli olarak 1. kredi kartı(numaraları belirtirmiş olan kartlar.)2. nakit 3. çek. seçenekleri ile 3 kasaya girişi ve çıkışı olarak düşündüm. kalan olarak her kasanın kendine ait tutarı belli olursa süper olur.

şimdiden tşk ederim her şey işin hocam....
 

Dosya linkte mevcut. 3 kriteri de farklı biçimlerde kullanabilirsiniz.
Seçim olmayanlar - tire olarak seçilmeli.
Kontrol ediniz.


C#:
Sub icmalyap()
Dim wSh As Worksheet
sonsatir1 = Cells(Rows.Count, "B").End(3).Row
sonsatir2 = Cells(Rows.Count, "C").End(3).Row
sonsatir3 = Cells(Rows.Count, "D").End(3).Row
sonsatir = sonsatir1
If sonsatir2 > sonsatir Then sonsatir = sonsatir2
If sonsatir3 > sonsatir Then sonsatir = sonsatir3

Range("E5:F10000").ClearContents
For j = 5 To sonsatir
    For i = 2 To Sheets.Count
        Set shw = Sheets(i)
        If Range("B" & j) <> "-" And Range("C" & j) = "-" And Range("D" & j) = "-" Then
            Range("E" & j).Value = Range("E" & j).Value + Application.WorksheetFunction.SumIf(shw.Range("D:D"), Range("B" & j), shw.Range("H:H"))
            Range("F" & j).Value = Range("F" & j).Value + Application.WorksheetFunction.SumIf(shw.Range("D:D"), Range("B" & j), shw.Range("L:L"))
        
        ElseIf Range("B" & j) = "-" And Range("C" & j) <> "-" And Range("D" & j) = "-" Then
            Range("E" & j).Value = Range("E" & j).Value + Application.WorksheetFunction.SumIf(shw.Range("F:F"), Range("C" & j), shw.Range("H:H"))
            Range("F" & j).Value = Range("F" & j).Value + Application.WorksheetFunction.SumIf(shw.Range("J:J"), Range("C" & j), shw.Range("L:L"))
        
        ElseIf Range("B" & j) = "-" And Range("C" & j) = "-" And Range("D" & j) <> "-" Then
            Range("E" & j).Value = Range("E" & j).Value + Application.WorksheetFunction.SumIf(shw.Range("G:G"), Range("D" & j), shw.Range("H:H"))
            Range("F" & j).Value = Range("F" & j).Value + Application.WorksheetFunction.SumIf(shw.Range("K:K"), Range("D" & j), shw.Range("L:L"))
        
        ElseIf Range("B" & j) <> "-" And Range("C" & j) <> "-" And Range("D" & j) = "-" Then
            Range("E" & j).Value = Range("E" & j).Value + Application.WorksheetFunction.SumIfs(shw.Range("H:H"), shw.Range("D:D"), Range("B" & j), shw.Range("F:F"), Range("C" & j))
            Range("F" & j).Value = Range("F" & j).Value + Application.WorksheetFunction.SumIfs(shw.Range("L:L"), shw.Range("D:D"), Range("B" & j), shw.Range("J:J"), Range("C" & j))
        
        ElseIf Range("B" & j) = "-" And Range("C" & j) <> "-" And Range("D" & j) <> "-" Then
            Range("E" & j).Value = Range("E" & j).Value + Application.WorksheetFunction.SumIfs(shw.Range("H:H"), shw.Range("F:F"), Range("C" & j), shw.Range("G:G"), Range("D" & j))
            Range("F" & j).Value = Range("F" & j).Value + Application.WorksheetFunction.SumIfs(shw.Range("L:L"), shw.Range("J:J"), Range("C" & j), shw.Range("K:K"), Range("D" & j))
              
        ElseIf Range("B" & j) <> "-" And Range("C" & j) = "-" And Range("D" & j) <> "-" Then
            Range("E" & j).Value = Range("E" & j).Value + Application.WorksheetFunction.SumIfs(shw.Range("H:H"), shw.Range("D:D"), Range("B" & j), shw.Range("G:G"), Range("D" & j))
            Range("F" & j).Value = Range("F" & j).Value + Application.WorksheetFunction.SumIfs(shw.Range("L:L"), shw.Range("D:D"), Range("B" & j), shw.Range("K:K"), Range("D" & j))
        
        ElseIf Range("B" & j) <> "-" And Range("C" & j) <> "-" And Range("D" & j) <> "-" Then
            Range("E" & j).Value = Range("E" & j).Value + Application.WorksheetFunction.SumIfs(shw.Range("H:H"), shw.Range("D:D"), Range("B" & j), shw.Range("F:F"), Range("C" & j), shw.Range("G:G"), Range("D" & j))
            Range("F" & j).Value = Range("F" & j).Value + Application.WorksheetFunction.SumIfs(shw.Range("L:L"), shw.Range("D:D"), Range("B" & j), shw.Range("J:J"), Range("C" & j), shw.Range("K:K"), Range("D" & j))
        
        End If
    Next i
Next j
End Sub

BİRİM

ÖDEME ŞEKLİ

KART NO

GELEN

GİDEN

KALAN

BÜRO

-

-

₺60,00

₺120,00

-₺60,00

MOBİL

-

-

₺30,00

₺60,00

-₺30,00

TAFİCS

-

-

₺30,00

₺60,00

-₺30,00

-

NAKİT

-

₺30,00

₺60,00

-₺30,00

-

NAKİT

-

₺30,00

₺60,00

-₺30,00

-

NAKİT

-

₺30,00

₺60,00

-₺30,00

-

-

8449

₺0,00

₺0,00

₺0,00

-

-

4262

₺0,00

₺0,00

₺0,00

BÜRO

KREDİ KARTI

-

₺60,00

₺120,00

-₺60,00

MOBİL

NAKİT

-

₺30,00

₺60,00

-₺30,00

TAFİCS

ÇEK

-

₺30,00

₺60,00

-₺30,00

-

KREDİ KARTI

8449

₺0,00

₺0,00

₺0,00

-

NAKİT

4262

₺0,00

₺0,00

₺0,00

-

ÇEK

8449

₺0,00

₺0,00

₺0,00

-

KREDİ KARTI

-

₺60,00

₺120,00

-₺60,00

-

NAKİT

-

₺30,00

₺60,00

-₺30,00

-

ÇEK

-

₺30,00

₺60,00

-₺30,00

BÜRO

KREDİ KARTI

8449

₺30,00

₺60,00

-₺30,00

MOBİL

KREDİ KARTI

4262

₺0,00

₺0,00

₺0,00

TAFİCS

ÇEK

-

₺0,00

₺0,00

₺0,00
 
Son düzenleme:
Makrolu çözüm;

icmal sayfasında;
* B ve C kriterleri beraber tarih sayfalarında, F-G ve J-K sütunlarında aranır
* Sadece B kriterleri tarih sayfalarında, D sütununda aranır
* B sütunu boş ise, sadece C kriterleri tarih sayfalarında, F-J sütununlarında aranır

İlk sayfa hariç diğer tüm sayfaları işleme alır.



C#:
Sub icmalyap()
'www.asriakdeniz.com - asriakdeniz@gmail.com
Dim wSh As Worksheet
sonsatir = Cells(Rows.Count, "C").End(3).Row
Range("D5:E10000").ClearContents
For j = 5 To sonsatir
    For i = 2 To Sheets.Count
        Set shw = Sheets(i)
        If Range("B" & j) <> "" Then
            Range("D" & j).Value = Range("D" & j).Value + Application.WorksheetFunction.SumIf(shw.Range("D:D"), Range("B" & j), shw.Range("H:H"))
            Range("E" & j).Value = Range("E" & j).Value + Application.WorksheetFunction.SumIf(shw.Range("D:D"), Range("B" & j), shw.Range("L:L"))
            
            Range("D" & j).Value = Range("D" & j).Value + Application.WorksheetFunction.SumIfs(shw.Range("H:H"), shw.Range("F:F"), Range("C" & j), shw.Range("G:G"), Range("B" & j))
            Range("E" & j).Value = Range("E" & j).Value + Application.WorksheetFunction.SumIfs(shw.Range("L:L"), shw.Range("J:J"), Range("C" & j), shw.Range("K:K"), Range("B" & j))
        Else
            Range("D" & j).Value = Range("D" & j).Value + Application.WorksheetFunction.SumIf(shw.Range("F:F"), Range("C" & j), shw.Range("H:H"))
            Range("E" & j).Value = Range("E" & j).Value + Application.WorksheetFunction.SumIf(shw.Range("J:J"), Range("C" & j), shw.Range("L:L"))
        End If
    Next i
Next j
End Sub
Makrolu çözüm;

icmal sayfasında;
* B ve C kriterleri beraber tarih sayfalarında, F-G ve J-K sütunlarında aranır
* Sadece B kriterleri tarih sayfalarında, D sütununda aranır
* B sütunu boş ise, sadece C kriterleri tarih sayfalarında, F-J sütununlarında aranır

İlk sayfa hariç diğer tüm sayfaları işleme alır.



C#:
Sub icmalyap()
'www.asriakdeniz.com - asriakdeniz@gmail.com
Dim wSh As Worksheet
sonsatir = Cells(Rows.Count, "C").End(3).Row
Range("D5:E10000").ClearContents
For j = 5 To sonsatir
    For i = 2 To Sheets.Count
        Set shw = Sheets(i)
        If Range("B" & j) <> "" Then
            Range("D" & j).Value = Range("D" & j).Value + Application.WorksheetFunction.SumIf(shw.Range("D:D"), Range("B" & j), shw.Range("H:H"))
            Range("E" & j).Value = Range("E" & j).Value + Application.WorksheetFunction.SumIf(shw.Range("D:D"), Range("B" & j), shw.Range("L:L"))
            
            Range("D" & j).Value = Range("D" & j).Value + Application.WorksheetFunction.SumIfs(shw.Range("H:H"), shw.Range("F:F"), Range("C" & j), shw.Range("G:G"), Range("B" & j))
            Range("E" & j).Value = Range("E" & j).Value + Application.WorksheetFunction.SumIfs(shw.Range("L:L"), shw.Range("J:J"), Range("C" & j), shw.Range("K:K"), Range("B" & j))
        Else
            Range("D" & j).Value = Range("D" & j).Value + Application.WorksheetFunction.SumIf(shw.Range("F:F"), Range("C" & j), shw.Range("H:H"))
            Range("E" & j).Value = Range("E" & j).Value + Application.WorksheetFunction.SumIf(shw.Range("J:J"), Range("C" & j), shw.Range("L:L"))
        End If
    Next i
Next j
End Sub




https://dosya.co/o37fkwbw31bs/EKIM_KASA.xlsm.html

HOCAM ONCELİKLE ÇOK TŞK EDERİM. TAM ISTEDİĞİM GİBİ OLMUŞ MİNNETARIM. HOCAM SON BIR RİCAM. ÖRENEĞİ 04.11.2022 SAYFASINDAKİ

D6: D25 SÜTÜNUNDAKİ VERİ "TAFİCS"İSE" GELİR" SÜNUNDAKİ H6:H25 DÜTÜNUNDAKİ GELİR VERİLERİ TOPLAMI "A1 " HÜCRESİNE GELSİN"
 
https://dosya.co/o37fkwbw31bs/EKIM_KASA.xlsm.html

HOCAM ONCELİKLE ÇOK TŞK EDERİM. TAM ISTEDİĞİM GİBİ OLMUŞ MİNNETARIM. HOCAM SON BIR RİCAM. ÖRENEĞİ 04.11.2022 SAYFASINDAKİ

D6: D25 SÜTÜNUNDAKİ VERİ "TAFİCS"İSE" GELİR" SÜNUNDAKİ H6:H25 DÜTÜNUNDAKİ GELİR VERİLERİ TOPLAMI "A1 " HÜCRESİNE GELSİN"
hocam oncelikle büyük harf yazımı için özür dilerim.

d6:d25 sütunundaki veri "tafics"ise" gelir" sunundaki h6:h25 sütünundaki gelir verileri toplamı "a1 " hücresine gelsin"
 
Geri
Üst