Makro: Daten in fortlaufende Zielzellen ausführen?

... komplette Frage anzeigen

2 Antworten

Wenn Du, trotz Ninombre's guter Antwort, nicht weiter kommst, dann zeig uns doch mal (Bildschirmkopie incl. Spalten- und Zeilenbeschriftung), was Du bisher schon probiert hast.
Oft kann man bestehende Makros sinnvoll und zielführend ergänzen.

Oder wartest Du darauf, dass man Dir eine fix und fertige Lösung darreicht?

Wenn sich das Problem erledigt hat (Eigeninitiative oder durch GF), könntest Du hier berichten. Dann können Andere evtl. aus Deiner Lösung Nutzen ziehen..

Gruß aus Berlin

Antwort bewerten Vielen Dank für Deine Bewertung

Zwei Varianten:

1. (empfohlen, wenn nichts dagegen spricht): Die letzte verwendete Zeile ermitteln
Zielzeile=Cells(Rows.Count, 1).End(xlUp).Row+1
Die 1 steht für die Spalte, in der die letzte verwendete Zeile ermittelt wird, hier also Spalte A. +1 weil Du nicht in die letzte verwendete Zeile schreiben willst, sondern erst in die nächste (=erste freie Zeile).

Den ermittelnden Wert der "Zielzeile" kannst Du dann beim Paste verwenden:
Range("A"&zielzeile).paste oder wie auch immer Du es im Moment gelöst hast.

2. Über ein irgendwo hinterlegtes Beginndatum die Differenz zwischen dem Datum der Makroausführung und  dem Beginn ermitteln. Das macht aber nur Sinn, wenn Du ggf. Wochen überspringst und trotzdem in der Zieltabelle jede Woche vorhanden sein muss -> dann dürfte man nicht die letzte Zeile ermitteln, sondern einen fixen Abstand je Woche.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Iamiam
21.11.2016, 15:22

Bei ungleichmäßig gefüllten Tabellen, aber der Absicht, in die erste vollständig leere Zeile zu schreiben (und in die ausgewählte Spalte), bevorzuge ich

Cells(Specialcells(xllastcell).row + 1, Activecell.column).select (anstatt select ggf andere Befehle, zB Cells(...) = EinzufügenderWert

Bei Spaltenspezifischen ersten leeren Zellen (eine Zelle in der gewünschten Spalte auswählen):

Cells(Activesheet.rows.count, activecell.column).end(xlup).offset(1,0)  Auch das bleibt eine virtuelle Auswahl, verursacht also keine Cursorbewegung.

1

Was möchtest Du wissen?