Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1760to1764
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro ausführen bis Zellen leer sind

Makro ausführen bis Zellen leer sind
31.05.2020 20:38:02
Andreas
Hallo alle zusammen,
Ich habe ein Makro aufgenommen und das klappt soweit ganz gut.
Leider muß ich für jeden Datensatz das Makro ausführen was sich in die Länge zieht.
Ich möchte gerne das Makro einmal aktivieren und das soll so lange ausgeführt werden bis die Zellen oder die erste Zelle A6 im Blatt Rohdaten leer sind. Vielleicht könnte hier einer so nett sein und mir dabei helfen.
Hier mein Makro,
Sub Rohdaten_Einfügen()
' Rohdaten_Einfügen Makro
' Rohdaten Transformieren
' Tastenkombination: Strg+e
Columns("A:A").ColumnWidth = 37
Sheets("Transformiert").Select
Range("A2:J2").Select
Selection.ListObject.ListRows.Add (1)
Sheets("Rohdaten").Select
Range("A6,A7,A10,A16,A17,A19,A23,A25,A30,A31").Select
Range("A31").Activate
Selection.Copy
Sheets("Transformiert").Select
Range("A2:J2").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Sheets("Rohdaten").Select
Range("A1:A33").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro ausführen bis Zellen leer sind
01.06.2020 07:40:37
Felix
Hallo Andreas,
so allgmein is aufgezeichneter Code ganz praktisch, aber nicht sehr schön und außerdem sehr rechenaufwändig
Bereich.Select
Selection.
Aktion
lässt sich meist zusammenfassen zu Bereich.Aktion
Sub Rohdaten_Einfügen()
' Rohdaten_Einfügen Makro
' Rohdaten Transformieren
' Tastenkombination: Strg+e
Sheets("Transformiert").Range("A2:J2").ListObject.ListRows.Add (1)
Sheets("Rohdaten").Range("A6,A7,A10,A16,A17,A19,A23,A25,A30,A31").Copy
Sheets("Transformiert").Range("A2:J2").PasteSpecial Paste:=xlPasteAll, Transpose:=True
Sheets("Rohdaten").Range("A1:A33").Delete Shift:=xlUp
End Sub
Das hier wäre nur dein Makro zusammengefasst. Probier es nochmal aus und versuch den Unterschied zu verstehen.
Wenn du Aktionen wiederholen möchtest gibt es 2 Möglichkeiten

For i = 1 To X
Aktion
Next i
Damit wird die Aktion X mal wiederholt. Setze Für X eine Zahl deiner Wahl ein und die Aktion wiederholt sich.

Do While [Bedingung]
Aktion
Loop
Damit wird die Aktion solange wiederholt, wie die Bedingung wahr ist.
Eine Bedingung wäre z.B.
Sheets("Rohdaten").Range("A6").Value  ""

Diese Bedingung bedeutet Wert der Zelle A6 ungleich nichts
Als solange A6 nicht leer ist wiederhole die Aktion.

Sub Rohdaten_Einfügen()
' Rohdaten_Einfügen Makro
' Rohdaten Transformieren
' Tastenkombination: Strg+e
Do While Sheets("Rohdaten").Range("A6").Value  ""
Sheets("Transformiert").Range("A2:J2").ListObject.ListRows.Add (1)
Sheets("Rohdaten").Range("A6,A7,A10,A16,A17,A19,A23,A25,A30,A31").Copy
Sheets("Transformiert").Range("A2:J2").PasteSpecial Paste:=xlPasteAll, Transpose:=True
Sheets("Rohdaten").Range("A1:A33").Delete Shift:=xlUp
Loop
End Sub

Probier dich mal selber daran aus.
Schöne Grüße Felix
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige