Clever-Excel-Forum

Normale Version: Zeilen eines Jahres in neue Tabelle
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi Leute,

ich habe jetzt viel Stunden gesucht und ausprobiert, finde aber nichts was mir wirklich hilft.
Hier mein Problem:

Ich besitze eine Tabelle, in der alle Einnahmen mit genauen Datum erfasst sind.
Nun möchte ich, dass alle Zeilen in eine neue Tabelle kopiert werden, die im Jahr 2015 bzw. 2016 eingenommen wurden.

Dabei wird in Zukunft nur die "Tabelle1" von mir aktuell gehalten.
Die Tabelle "2015" und "2016" sollen sich dabei in Zukunft selbst aktualisieren.

[attachment=4693]

Vielen Dank Smile
Hallo,

Test diesem Code:


Sub sTest()
Dim rng as range
Dim c as range
With columns("A")
For i = 2015 to 2016
Set c = .find(i)
Start = c.address
Set rng = range(c, c.offset(0,2)
Do
Set c = .findnext©
Set rng = union(rng, range(c, c.offset(0,2)))
Loop until c.address = Start
Rng.copy destination:=sheets(i - 2013).cells(2,1)
Next i
End with
End sub



Mfg
Hi,

falls du kein VBA einsetzen willst/darfst, hier eine Lösung mit 2 Hilfsspalten. Die farbig markierte in Tabelle1 kannst du ausblenden, dann stört sie nicht mehr. Die zweite mit den zum Vergleich stehenden Jahreszahlen kannst du offen lassen oder ausblenden - ganz nach persönlichem Gusto.

Tabelle1

ABCDE
1DatumAgenturBetrag
201.05.2014A8002015
305.10.2014B6002016
425.12.2014A300
502.02.2015C7505
604.06.2015B4006
722.07.2015D2507
803.09.2015A9008
911.10.2015E5009
1030.12.2015B40010
1102.04.2016C800
1208.07.2016E600
Formeln der Tabelle
ZelleFormel
D2=WENN(JAHR(A2)=$E$2;ZEILE();"")

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

2015

ABC
1DatumAgenturBetrag
202.02.2015C750
304.06.2015B400
422.07.2015D250
503.09.2015A900
611.10.2015E500
730.12.2015B400
8
9
10
Formeln der Tabelle
ZelleFormel
A2=WENNFEHLER(INDEX(Tabelle1!A:A;KKLEINSTE(Tabelle1!D:D;ZEILE(A1)));"")
B2=WENNFEHLER(SVERWEIS(A2;Tabelle1!$A$2:$C$20;2;0);"")
C2=WENNFEHLER(SVERWEIS(A2;Tabelle1!$A$2:$C$20;3;0);"")

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Hier das Beispiel für Jahr 2015; für 2016 musst du halt die Formeln anpassen. Die Formeln ziehst du einfach so weit runter, wie du meinst, eines Tages Daten darin zu haben.
Hallo,

wenn kein VBa eingesetzt werden dar, dann würde ich eine Pivottabelle nutzen.

Wenn VBA möglich, dann würde ich es mit dem Spezialfilter machen.
Mit dem Aufbau in der eingestellten Beispielmappe ginge es wie folgt:

Folgenden Code in das Codemodul DieseArbeitsmappe einfügen:

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
  If ActiveSheet.Name <> "Tabelle1" Then aktualisieren
End Sub

und folgenden Code in ein allgemeines Modul einfügen:


Code:
Sub aktualisieren()
  Cells(2, 4).FormulaLocal = "=JAHR(Tabelle1!A2)=" & Format(ActiveSheet.Name, "0000")
  Cells(1, 1).CurrentRegion.Offset(1, 0).Resize(Cells(1, 1).CurrentRegion.Rows.Count, 3).Clear
  Sheets("Tabelle1").Cells(1, 1).CurrentRegion.AdvancedFilter 2, Cells(1, 1).CurrentRegion, Range("A1:C1")
End Sub



Das war es. Beim betreten der Jahrestabellen werden sie dann jedes mal aktualisiert.


Und hier Deine Beispielmappe mit den Codes:


[attachment=4694]
Ich danke euch erst mal für eure Hilfe.
Mit den Makros kenne ich mich leider überhaupt nicht aus.
Deshalb werde ich wohl den Weg mit den Hilfsspalten nehmen müssen.
Das habe ich auch gerade gemacht und es funktioniert  :19: 
Danke auch, dass du die Formeln direkt mitgeschickt hast. Den Rest bekomme  ich selber hin...

Vielen Dank auch nochmal für die Makro-Codes. Ich werde sie mir auf jeden Fall mal speichern,
für den Fall, dass ich mir in Zukunft doch mal anschauen muss was das so wirklich ist und wie es funktiert.

Großes DANKE!!!  :19: