Schleife über12Blätter,Ergebnis je Blatt auswerfen
18.08.2017 12:41:43
Hendrik
Mahlzeit alle zusammen! :)
Werner und Robert Werner haben mir gestern und vorgestern schon super geholfen.
Ich hatte nun folgende Idee, bei der ich auch wieder nicht weiterkomme
(mehr oder weniger eine Kombination meiner zwei Anfragen):
In dem Code, siehe unten, wird dank den beiden eine Abfrage über alle Tabellenblätter durchgeführt und die Summe der Ergebnisse in die Wunschtabelle eingefügt.
D.h.: 3 Treffer in Blatt 1 + 2 Treffer in Blatt 2 + (... ) = Treffer gesamt
Als Upgrade fände ich es jetzt cool, wenn neben der Endsumme auch die Teilsummen aus den Tabellenblättern angezeigt werden würde.
D.h:
Es wäre toll, wenn ich sehen könnte, aus welchen Tabellen (aka Monaten) sich die Gesamtsumme zusammensetzt. Also von den insgesamt 33, die im Februar versendet wurden, findet er z.B. 18 in der Januar-Tabelle, 10 in der Februar-Tabelle und 5 in der März-Tabelle.
Ich habe dafür eine Datei mit farbigen Markierungen angehängt, ich hoffe, es ist so verständlich.
https://www.herber.de/bbs/user/115556.xlsx
In meinem Kopf braucht der Code eigentlich nur eine kleine Ergänzung um eine Variable, aber vielleicht ist das auch viel komplizierter...
Hier ist der Code. Bisher habe ich nur die Einzel-Abfragen von Januar, Februar und März reingepackt. Ganz unten ziehe ich eine kleine Tabelle auf, wo dann alles rein soll.
Dick markiere ich wieder, wo ich nicht weiterkomme bzw. nicht weiß, wie ich es machen soll:
Sub Gesamt()
Dim Zeile As Long
Dim ZeileMax As Long
Dim n As Long
Dim AnzahlJanuar As Long
Dim AnzahlFebruar As Long
Dim AnzahlMärz As Long
Dim AnzahlApril As Long
Dim AnzahlMai As Long
Dim AnzahlJuni As Long
Dim AnzahlJuli As Long
Dim AnzahlAugust As Long
Dim AnzahlSeptember As Long
Dim AnzahlOktober As Long
Dim AnzahlNovember As Long
Dim AnzahlDezember As Long
Dim ausJanuar As Long
Dim ausFebruar As Long
Dim ausMärz As Long
Dim WS_Count As Integer
Dim WS_CountMax As Integer
Dim i As Integer
'Monat(1) = "Jan"
'For i = 1 To 12
'sheets (Monat(i))
WS_CountMax = 12
n = 1
For i = 1 To WS_CountMax
With Sheets(i)
ZeileMax = .UsedRange.Rows.Count
For Zeile = 2 To ZeileMax
If .Cells(Zeile, 14).Value >= CDate("01.01.2017") And .Cells(Zeile, 14).Value ausJanuar = .UsedRange.Rows.Sheets(i)
ausFebruar = .UsedRange.Rows.Sheets(i)
ausMärz = .UsedRange.Rows.Sheets(i)
End If
Next Zeile
End With
Next i
For i = 1 To WS_CountMax
With Sheets(i)
ZeileMax = .UsedRange.Rows.Count
For Zeile = 2 To ZeileMax
If .Cells(Zeile, 14).Value >= CDate("01.02.2017") And .Cells(Zeile, 14).Value 'ausJanuar = .Rows(Zeile).Sheets(i)
'ausFebruar = .Rows(Zeile).Sheets(i)
'ausMärz = .Rows(Zeile).Sheets(i)
End If
Next Zeile
End With
Next i
For i = 1 To WS_CountMax
With Sheets(i)
ZeileMax = .UsedRange.Rows.Count
For Zeile = 2 To ZeileMax
If .Cells(Zeile, 14).Value >= CDate("01.03.2017") And .Cells(Zeile, 14).Value 'ausJanuar = n.Rows(Zeile).Sheets(i)
'ausFebruar = n.Rows(Zeile).Sheets(i)
'ausMärz = n.Rows(Zeile).Sheets(i)
End If
Next Zeile
End With
Next i
With Sheets("Versendungen")
.Range("T4") = "Insgesamt"
.Range("U4") = "davon im Januar"
.Range("v4") = "davon im Februar"
.Range("w4") = "davon im März"
.Range("x4") = "davon im April"
.Range("y4") = "davon im Mai"
.Range("z4") = "davon im Juni"
.Range("aa4") = "davon im Juli"
.Range("ab4") = "davon im August"
.Range("ac4") = "davon im September"
.Range("ad4") = "davon im Oktober"
.Range("ae4") = "davon im November"
.Range("af4") = "davon im Dezember"
.Range("S5") = "Januar"
.Range("S6") = "Februar"
.Range("S7") = "März"
.Range("S8") = "April"
.Range("S9") = "Mai"
.Range("S10") = "Juni"
.Range("S11") = "Juli"
.Range("S12") = "August"
.Range("S13") = "September"
.Range("S14") = "Oktober"
.Range("S15") = "November"
.Range("S16") = "Dezember"
.Range("T5") = AnzahlJanuar
.Range("T6") = AnzahlFebruar
.Range("T7") = AnzahlMärz
.Range("u5") = ausJanuar
.Range("u6") = ausFebruar
.Range("v7") = ausMärz
End With
End Sub
Vielen Dank vorab erneut für eure Hilfe und vor allem für eure Geduld! :)
Viele Grüße,
Hendrik