Da fällt mir noch etwas ein... eine Summe der km für jedes Monat wäre natürlich auch ganz praktisch... Geht das, dass die Summe unter 'nem Strich steht? Oder beißt sich das mit der Übertragung der Zeilen vom ersten Mappenblatt? :92:
29.06.2016, 10:10 (Dieser Beitrag wurde zuletzt bearbeitet: 29.06.2016, 10:10 von RPP63.)
Moin! Wandele die Tabellen in "intelligente" Tabellen um (Einfügen, Tabelle). Bei Tabellentools aktivierst Du jetzt Ergebniszeile. In Spalte E in der letzten Zeile benutzt Du den Dropdown und wählst Summe. Wenn Du die einzelnen Monate in Spalte A filterst, wird Dir immer nur die Summe der einzelnen Monate angezeigt. Dann brauchst Du auch Deine Umbrüche nicht mehr. Einfach nach Monat filtern und ausdrucken.
Andere Variante: Auswertung per Pivot. Ich habe die Datei mal überarbeitet.
Sie kommt jetzt gänzlich ohne Makros aus.
Edit: Und schau mal was mit der Dateigröße passiert ist … :21:
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
29.06.2016, 11:21 (Dieser Beitrag wurde zuletzt bearbeitet: 29.06.2016, 11:32 von MSK.)
prinzipiell eine sehr feine Idee! nur ist die Ergebniszeile den neuen Einträgen im Weg, die vom Fahrtenbuch auf die anderen Mappenblätter kopiert werden... Und wenn ich die Tabelle nach unten nicht begrenze, fällt auch die Ergebniszeile flach... Oder übersehe ich da etwas :92:
EDIT hab's :19: mit =teilergebnis übernimmt er auch den filter :74:
Vielen lieben Dank nochmal, jetzt sollte das erledigt sein
Zitat:die vom Fahrtenbuch auf die anderen Mappenblätter kopiert werden...
Jetzt sag mir bloß nicht, dass Du händisch kopierst? :20: Ich hatte mich schon gewundert, dass in den Blättern keine Formeln stehen …
Also: Prinzipiell reicht eine einzige Tabelle (Fahrtenbuch). Die Autofilterfunktionen iVm der Ergebniszeile der intelligenten Tabelle reichen völlig aus! (Tabellentools, Ergebniszeile) Neue Zeilen werden einfach per Tab angelegt, Formeln werden automatisch erweitert.
(Was macht die Sehnenscheideentzündung bei Deiner ganzen Klickerei? :21: )
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
(29.06.2016, 11:27)RPP63 schrieb: Tach mal wieder!
Zitat:die vom Fahrtenbuch auf die anderen Mappenblätter kopiert werden...
Jetzt sag mir bloß nicht, dass Du händisch kopierst? :20: Ich hatte mich schon gewundert, dass in den Blättern keine Formeln stehen …
(Was macht die Sehnenscheideentzündung bei Deiner ganzen Klickerei? :21: )
neeiiiiin, nix händisch :21:
das ist irgendwas mit DataGoal... die dazu notwendigen Zeilen hab' ich ausgeblendet, damit der Enduser da nix anstellen kann... Das Grundgerüst hab' ich schon so bekommen, also frag mich bitte nicht, wie das geht :17: obwohl ich's selber schon ganz gern wissen würde ^^
ansonsten: siehe oben - sollte jetzt alles gelöst sein :)
29.06.2016, 11:58 (Dieser Beitrag wurde zuletzt bearbeitet: 04.07.2016, 14:01 von Rabe.
Bearbeitungsgrund: Zitat repariert
)
Zitat:ansonsten: siehe oben - sollte jetzt alles gelöst sein :)
Ok, zu früh gefreut... auch mit dem Teilergebnis klappt's nicht, weil er dann einfach den Inhalt der Zelle löscht, sobald eine Zeile im Bezugsbereich dazukommt :22:
29.06.2016, 12:06 (Dieser Beitrag wurde zuletzt bearbeitet: 29.06.2016, 12:07 von RPP63.)
Zitat:sobald eine Zeile im Bezugsbereich dazukommt
WIE kommt sie dazu? Tab in der letzten Datenzeile fügt eine neue Zeile nebst Formatierung und Formel ein. (und die Teilergebniszeile wandert nach unten)
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Zitat:sobald eine Zeile im Bezugsbereich dazukommt
WIE kommt sie dazu?
Automatisch über diese Datagoal-Funktion. Eingetragen wird gesammelt in Mappenblatt 1 und diese Einträge werden auf die anderen 4 Mappenblätter aufgeteilt.
Die Ausgangsdaten dürfen keine Tabelle sein. Dann klappts mit Teilergebnis... hoffe, excel bleibt dieser Meinung ^^'
(29.06.2016, 12:20)RPP63 schrieb: Hi! Schön! Es bietet sich an, das Teilergebnis über die gefilterte Tabelle zu setzen, dann gibt es kein Problem bei Erweiterungen.
Gruß Ralf
Hallo Ralf, danke auch für diesen Tipp!
Habe mich so durchgetrickst, dass es zwar eigentlich funktioniert (unendliche tabelle, zeilen oberhalb einfügen, etc)... nur jetzt killt er den VBA-Code für die kopierten Zellen auch, wenn ich zB nur die Seitenränder im Layout verändere. Durch die unendlichen Tabellen bekommt die Dateigröße auch wieder ziemlich unhandliche Ausmaße (knapp 70MB) - noch nicht so optimal das ganze.
Dafür habe ich den VBA-Code für das zeilenweise kopieren gefunden:
Code:
Option Explicit
Private Sub Workbook_SheetActivate(ByVal Sh As Object) If Range("DataStart").Parent.Name <> Sh.Name Then Dim rngCrit As Range On Error Resume Next Set rngCrit = Sh.Range("DataCrit") On Error GoTo 0 If Not rngCrit Is Nothing Then Filter Sh End If End If ErrorHandler: Application.EnableEvents = True Application.ScreenUpdating = True End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Range("DataStart").Parent.Name <> Sh.Name Then Dim rngAct As Range Set rngAct = ActiveCell On Error GoTo ErrorHandler Set Target = Intersect(Target, Sh.Range(Sh.Range("DataCrit").Row & ":" & Sh.Range("DataGoal").Row - 1).EntireRow) If Not Target Is Nothing Then Filter Sh Application.GoTo rngAct End If End If ErrorHandler: Application.EnableEvents = True Application.ScreenUpdating = True End Sub
Private Sub Filter(Sh As Object) On Error GoTo ErrorHandler Application.ScreenUpdating = False Application.EnableEvents = False Dim lngRows As Long Dim rngGoalData As Range
With Sh lngRows = .Range(.Range("DataCrit").Row & ":" & .Range("DataGoal").Row - 1). _ Find(What:="*", _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row
Set rngGoalData = .Range("DataGoal").CurrentRegion If rngGoalData(1, 1).Row < .Range("DataGoal").Row Then rngGoalData.Offset(.Range("DataGoal").Row - 1, 0).Clear Else .Range("DataGoal").CurrentRegion.Clear End If
Range("DataStart").CurrentRegion.AdvancedFilter _ Action:=xlFilterCopy, _ CriteriaRange:=.Range(.Range("DataCrit").Row & ":" & lngRows), _ CopyToRange:=.Range("DataGoal"), _ Unique:=False End With ErrorHandler: Application.EnableEvents = True Application.ScreenUpdating = True End Sub
Public Sub ReSharpen() Application.EnableEvents = True Application.ScreenUpdating = True End Sub