Supportnet / Forum / Tabellenkalkulation
Monatskopie
Frage
Hallo
War lange nicht da PC defekt!
Mein neues Problemchen ?
Es geht um eine Monats Stundenabrechnung. Ich möchte mit einem Makro erreichen, Kopieren eines Zellbereiches z.b A13:D43 enthält die Monatsstunden und abspeichern auf einen anderen Tabellenblatt.
Mein Problem, da die Monate verschieden lang sind, habe ich 28 bis 31 Zeilen die ich Kopieren möchte.
Ist es möglich, wenn ja wie den Bereich der Kopiert wird immer auf die Anzahl der Monatstage anzupassen, stehen in diesen Fall in Spalte A?
Mit freundlichen Grüßen
yxc
Antwort 1 von Saarbauer
Hallo,
Ich habe eine Stundenabrechung für das ganze Jahr aufgebaut, könnte ich dir zukommen lassen. Berücksichtigt auch die unterschiedlichen Monate und Schaltjahre.
Teile mir mal deine Emailadresse mit
Gruß
Helmut
Ich habe eine Stundenabrechung für das ganze Jahr aufgebaut, könnte ich dir zukommen lassen. Berücksichtigt auch die unterschiedlichen Monate und Schaltjahre.
Teile mir mal deine Emailadresse mit
Gruß
Helmut
Antwort 2 von yxc
Hallo
Habe mir bereits eine Abrechnung erstellt, die man über Jahre nutzen kann.
Habe noch dieses Problem.
Ich weis nicht ob es sinnvoll ist seine Emailadresse hier zu veröffentlichen.
mfg
yxc
Habe mir bereits eine Abrechnung erstellt, die man über Jahre nutzen kann.
Habe noch dieses Problem.
Ich weis nicht ob es sinnvoll ist seine Emailadresse hier zu veröffentlichen.
mfg
yxc
Antwort 3 von Saarbauer
Hallo,
dann zeiche dir ein Makro auf, dass ein neues Blatt automatisch erstellt
Gruß
Helmut
dann zeiche dir ein Makro auf, dass ein neues Blatt automatisch erstellt
Gruß
Helmut
Antwort 4 von yxc
Hallo
Was ich erreichen möchte ist, nach dem ausdrucken den Monat A13:D43 (Aktualisiert sich nach dem ausdrucken auf den nächsten Monat) abspeichern, alle Monate auf ein Tabellenblatt untereinander. Ohne das Leerzeilen entstehen durch verschieden lange Monate. Februar währe z.b A13:D40
Mit freundlichen Grüßen
yxc
Was ich erreichen möchte ist, nach dem ausdrucken den Monat A13:D43 (Aktualisiert sich nach dem ausdrucken auf den nächsten Monat) abspeichern, alle Monate auf ein Tabellenblatt untereinander. Ohne das Leerzeilen entstehen durch verschieden lange Monate. Februar währe z.b A13:D40
Mit freundlichen Grüßen
yxc
Antwort 5 von schnallgonz
N´abend,
da gibts mehrere Wege zum Ziel.
Jeder Monat = 1 Tabellenblatt, Zusammenfassung in Blatt 13?
Entweder in jedem Monat die letzte Zeile ermitteln, z.B. mit
oder mit
alle verwendeten Zellen markieren
oder mit
den aktuellen Bereich oder
alles mit festen Abständen in die Zusammenfassung und dort per Makro Leerzeilen löschen, Anleitungen dazu im Forum.
markiert z.B. alles von A13 bis E-letzte Zeile (kopiert, wenn Du .Copy anstatt .Select schreibst)
mit der 1. Codezeile kannst Du auch in der Zusammenfassung die letzte Zeile ermitteln.
Vorher mußt Du im Makro natürlich das jeweilige Blatt ansprechen.
Tauscht Du Range("A65536") durch Range("E65536") ermittelst Du nicht in Spalte A die letzte Zeile, sondern in Spalte E. Wenn immer in allen Spalten Daten stehen, ist das natürlich wurscht.
MfG
schnallgonz
da gibts mehrere Wege zum Ziel.
Jeder Monat = 1 Tabellenblatt, Zusammenfassung in Blatt 13?
Entweder in jedem Monat die letzte Zeile ermitteln, z.B. mit
Range("A65536").End(xlUp).Rowoder mit
ActiveSheet.UsedRange.Selectalle verwendeten Zellen markieren
oder mit
ActiveCell.CurrentRegion.Selectden aktuellen Bereich oder
alles mit festen Abständen in die Zusammenfassung und dort per Makro Leerzeilen löschen, Anleitungen dazu im Forum.
LetzteZ = Range("A65536").End(xlUp).Row
Range(Cells(13, 1), Cells(LetzteZ, 5)).Selectmarkiert z.B. alles von A13 bis E-letzte Zeile (kopiert, wenn Du .Copy anstatt .Select schreibst)
mit der 1. Codezeile kannst Du auch in der Zusammenfassung die letzte Zeile ermitteln.
Vorher mußt Du im Makro natürlich das jeweilige Blatt ansprechen.
Tauscht Du Range("A65536") durch Range("E65536") ermittelst Du nicht in Spalte A die letzte Zeile, sondern in Spalte E. Wenn immer in allen Spalten Daten stehen, ist das natürlich wurscht.
MfG
schnallgonz
Antwort 6 von yxc
Hi
1.) Danke für die Antworten.
2.) Bin nur Excel Leihe.
3.) Habe meine Frage wohl schlecht formuliert.
4.) Ich habe folgende Frage.
Wie müsste ein Makro aussehen, das aus den Zellbereich A13:D43 (Monatsabrechnung)nur die Zeilen Kopiert wo in jeder Zelle Daten stehen, in den Leerzellen stehen zum Teil Formeln. Einfügen der Werte in ein anderes Tabellenblatt (Speicher-Arb). Die einzelnen Monate immer untereinander .
Mit freundlichen Grüßen
yxc
1.) Danke für die Antworten.
2.) Bin nur Excel Leihe.
3.) Habe meine Frage wohl schlecht formuliert.
4.) Ich habe folgende Frage.
Wie müsste ein Makro aussehen, das aus den Zellbereich A13:D43 (Monatsabrechnung)nur die Zeilen Kopiert wo in jeder Zelle Daten stehen, in den Leerzellen stehen zum Teil Formeln. Einfügen der Werte in ein anderes Tabellenblatt (Speicher-Arb). Die einzelnen Monate immer untereinander .
Mit freundlichen Grüßen
yxc
Antwort 7 von schnallgonz
N´abend yxc,
bevor ich ein paar Zeilen Code zusammenschraube, noch ein Paar Fragen:
Bereich A13:D43, ist klar
also wenn z.B. in A13 bis C13 Werte stehen, in D13 nicht, dann soll diese Zeile nicht kopiert werden?
dann sind diese Zellen doch nicht leer!?
MfG
schnallgonz
bevor ich ein paar Zeilen Code zusammenschraube, noch ein Paar Fragen:
Bereich A13:D43, ist klar
Zitat:
nur Zeilen, wo in jeder Zelle Daten stehen
nur Zeilen, wo in jeder Zelle Daten stehen
also wenn z.B. in A13 bis C13 Werte stehen, in D13 nicht, dann soll diese Zeile nicht kopiert werden?
Zitat:
in den Leerzellen stehen z.T Formeln
in den Leerzellen stehen z.T Formeln
dann sind diese Zellen doch nicht leer!?
MfG
schnallgonz
Antwort 8 von yxc
Hi
Zu deiner ersten Frage: Ja so hatte ich es gemeint!
Deine zweite Frage: Hatte es falsch beschrieben es gibt Leerzellen und Zellen in denen Formeln stehen, z .b steht auch in D13 eine Formel.
Mit freundlichen Grüßen
yxc
Zu deiner ersten Frage: Ja so hatte ich es gemeint!
Deine zweite Frage: Hatte es falsch beschrieben es gibt Leerzellen und Zellen in denen Formeln stehen, z .b steht auch in D13 eine Formel.
Mit freundlichen Grüßen
yxc
Antwort 9 von schnallgonz
Salve,
bitteschön, Erläuterungen im Code.
Kopiert immer aus dem aktiven Blatt heraus in
das Blatt "Zusammen".
Wenn das Blatt einen anderen Namen hat,
Code bitte ändern.
mfg
schnallgonz
Ich stimme mit der Mathematik nicht überein.
Ich meine, dass die Summe von Nullen eine gefährliche Zahl ist. (S.J. Lec)
Signatur und Textformatierungen wurden mit SNTool V1.2.13 erstellt
bitteschön, Erläuterungen im Code.
Kopiert immer aus dem aktiven Blatt heraus in
das Blatt "Zusammen".
Wenn das Blatt einen anderen Namen hat,
Code bitte ändern.
Sub MonatsKopinski()
´Bildschirmaktualisierung aus
Application.ScreenUpdating = False
´aktuellen Monatsbereich kopieren
´eine Zeile mehr, damit wenigstens 1 Leerzelle
´vorhanden ist, sonst Fehler beim Löschen
Range("A13:D44").Copy
´ins Blatt "Zusammen" in die erste freie Zelle in A
Worksheets("Zusammen").Activate
i = Range("A65536").End(xlUp).Row + 1
Cells(i, 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
´Zeilen ohne Inhalt löschen ab Zeile 13, Spalten A bis D
Range("A13:A65536").SpecialCells(xlCellTypeBlanks). _
EntireRow.Delete
Range("B13:B65536").SpecialCells(xlCellTypeBlanks). _
EntireRow.Delete
Range("C13:C65536").SpecialCells(xlCellTypeBlanks). _
EntireRow.Delete
Range("D13:D65536").SpecialCells(xlCellTypeBlanks). _
EntireRow.Delete
´Bildschirmaktualisierung wieder an und in letzte Zeile
Application.ScreenUpdating = True
Range("A65536").End(xlUp).Select
End Submfg
schnallgonz
Ich stimme mit der Mathematik nicht überein.
Ich meine, dass die Summe von Nullen eine gefährliche Zahl ist. (S.J. Lec)
Signatur und Textformatierungen wurden mit SNTool V1.2.13 erstellt
Antwort 10 von schnallgonz
Korrektur:
bitte wie unten zu sehen im Code ändern.
Fehler von mir, wollte zuerst im Monatsblatt löschen,
daher ab Zeile 13, ist wohl Unsinn.
Im Zielblatt muss dann aber ab Zeile 1 geprüft werden,
sonst würden im Januar Leerzellen vom 1.bis 13. stehen.
Gruß
schnallgonz
bitte wie unten zu sehen im Code ändern.
Fehler von mir, wollte zuerst im Monatsblatt löschen,
daher ab Zeile 13, ist wohl Unsinn.
Im Zielblatt muss dann aber ab Zeile 1 geprüft werden,
sonst würden im Januar Leerzellen vom 1.bis 13. stehen.
´Zeilen ohne Inhalt löschen, Spalten A bis D
Range("A1:A65536").SpecialCells(xlCellTypeBlanks). _
EntireRow.Delete
Range("B1:B65536").SpecialCells(xlCellTypeBlanks). _
EntireRow.Delete
Range("C1:C65536").SpecialCells(xlCellTypeBlanks). _
EntireRow.Delete
Range("D1:D65536").SpecialCells(xlCellTypeBlanks). _
EntireRow.Delete Gruß
schnallgonz
Antwort 11 von YXC
Hallo
Besten Dank für die Hilfe :-)
Mit freundlichen Grüßen
YXC
Besten Dank für die Hilfe :-)
Mit freundlichen Grüßen
YXC

