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
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 | A | B | C | D | E |
1 | Datum | Agentur | Betrag | | |
2 | 01.05.2014 | A | 800 | | 2015 |
3 | 05.10.2014 | B | 600 | | 2016 |
4 | 25.12.2014 | A | 300 | | |
5 | 02.02.2015 | C | 750 | 5 | |
6 | 04.06.2015 | B | 400 | 6 | |
7 | 22.07.2015 | D | 250 | 7 | |
8 | 03.09.2015 | A | 900 | 8 | |
9 | 11.10.2015 | E | 500 | 9 | |
10 | 30.12.2015 | B | 400 | 10 | |
11 | 02.04.2016 | C | 800 | | |
12 | 08.07.2016 | E | 600 | | |
Formeln der Tabelle |
Zelle | Formel | D2 | =WENN(JAHR(A2)=$E$2;ZEILE();"") |
|
Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
2015 | A | B | C |
1 | Datum | Agentur | Betrag |
2 | 02.02.2015 | C | 750 |
3 | 04.06.2015 | B | 400 |
4 | 22.07.2015 | D | 250 |
5 | 03.09.2015 | A | 900 |
6 | 11.10.2015 | E | 500 |
7 | 30.12.2015 | B | 400 |
8 | | | |
9 | | | |
10 | | | |
Formeln der Tabelle |
Zelle | Formel | 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: