Frage von Judoboy, 36

VBA Makro: Hole Daten aus Register 1 und schreibe in Register 2 in bestimmte Zellen. Attribut für "schreibe ergebnis ab Zeile 5"?

Siehe auch Bild!

Per VBA Makro hole ich Daten aus Tabelle 1. In Tabelle 1 sind die Daten abwärts ab Zeile 4. In Tabelle 2 werden die gezogenen Daten reingeschrieben.

Der Output darf aber erst ab Zeile 5 abwärts befüllt werden.

Wie erreiche ich die Verschiebung (nur Output!) um 1 Zeile?

For a = 4 To RowAufteiler --> Damit liest das Makro in Tabelle 1 ab Zeile 4. Jedoch schreibt das Makro auch automatisch in Zeile 4 das Ergebnis rein... Durch setzen auf 5 wird in Register 1 die 1. Zeile übersprungen --> keine Lösung.

Ach ja, ich bin VBA Anfäger also bitte so einfach wie möglich erklären :-)

Antwort
von azmd108, 21

Bin mir nicht sicher, ob ich deine Frage richtig verstanden habe. Allerdings kannst du das Problem so lösen, indem du einfach in den Zellenverweis (also wohin geschrieben werden soll) eine 1 addierst.

Also so:

Sheets("template").cells(a+1,2) = Betrieb

Alternativ auch über Offset lösbar (offset (1,0) = 1 Zeile nach unten verschieben):

Sheets("template").cells(a,2).Offset(1, 0)

Kommentar von Judoboy ,

Danke - das (a+1,2) hat schon ausgereicht :)

Expertenantwort
von Suboptimierer, Community-Experte für Excel, 21

Entweder du addierst 1 zur Zeile

Sheets("template").Range("B" & (a+1)).Value = "blub"
Sheets("template").Cells(a+1,2).Value = "bla"

oder du benutzt die Offset-Funktion.

Sheets("template").Range("B4").Offset(1,0).Value = "abc"
Kommentar von Judoboy ,

Danke - das (a+1,2) hat schon ausgereicht :)

Kommentar von Suboptimierer ,

Bitteschön!

Keine passende Antwort gefunden?

Fragen Sie die Community