Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Makro flexibler aufzeichnen
#1
Question 
Hallo allerseits,

ich versuche eine smarte Lösung für eine Tabelle zu finden, die über 2000 Zeilen mit Inhalten enthält, die regelmäßig aktualisiert werden müssen.
Leider kann ich kein VBA, deswegen habe ich bisher mit Makros aufzeichnen gearbeitet. Soweit klappt das auch, wäre da nicht das Problem, dass wenn ich neue Daten in z.B. Zeile 10 kopiere während der Aufzeichnung, dass er sich dann "merkt": diesen Schritt immer in Zeile 10 ausführen, egal ob da schon was anderes steht oder nicht.
Das Makro ist dann nicht flexibel und erkennt: oh in Zeile 10 steht schon was, dann muss ich den Schritt wohl in Zeile 11 weitermachen. 
Ich hatte das Problem versucht zu beheben mit einer Wenn Dann Funktion, also "wenn diese Zeile leer ist, dann kannst du hier reinkopieren". Bei so vielen Daten ist das aber in der Ausführung Chaos ... Mit VBA kann man das sicher programmieren, aber gibts nicht eine Lösung "durch die Hintertür", also, dass man Excel da irgendwie überlistet? Dass das Makro flexibler wird bei der Ausführung ... o.ä.

Ich hoffe ich konnte es einigermaßen verständlich erklären und würde mich riesig über Lösungsansätze freuen!  Angel

Viele Grüße
Luilu
Antworten Top
#2
Hallo,

Code:
NeueZeile = Cells(Rows.Count, 1).End(xlUp).Row + 1

Gruß Uwe
Antworten Top
#3
Hallo

ich habe die Nachricht von Uwe verstanden, du auch???   Nach dem Copy Befehl kommt die Zelle wo du hinein kopierst, richtig!

Da gibt es jetzt zwei richtige Lösung, über Cells oder Range.  Die Cells Version ist einfacher, geht so:   Cells(NeueZeile, 1).PasteSpecial xlPasteValues
Bei Cells kannst du die Spalte statt Zahl auch als Buchstabe angeben, dann so:   Cells(NeueZeile, "A").PasteSpecial xlPasteValues
Mit Range geht es auch, ich bevorzuge die Cells() Methode. Range geht so:   Range("A" & NeueZeile).PasteSpecial xlPasteValues

Wir verzichten auf die für Anfänger übliche Schreibweise mit:   Range("A10").Select   ActiveSheet.Paste    Das Select verursacht unnötiges Bildschirm Flackern

mfg Gasdt 123
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste