Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro automatisch wiederholen lassen!

Forumthread: Makro automatisch wiederholen lassen!

Makro automatisch wiederholen lassen!
07.03.2005 23:41:58
Michael
Hallo,
ich habe folgendes Problem!
Ich habe mir selber ein Makro in Excel erstellt, um jeweils fünf aufeinander folgende Zeilen automatisch in eine andere Mappe zu Transponieren! Das klappt auch ganz gut! Jedoch würde ich gerne wissen, wie kann ich dieses Makro automatisch wiederholen lassen, bis dass der letzte Datensatz transponiert ist? Denn mein Dokument hat ca. 38000 Zeilen, und das ist manuell sehr mühsam!!!!
Vielen Dank schonmal im Voraus!
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro automatisch wiederholen lassen!
08.03.2005 00:24:53
JL
Hallo Michael,
werd mal etwas konkreter, prinzipiell ist es kein Problem etwas zu wiederholen,
bis die letzte Zelle kopiert oder übertragen ist, oder die letzte Tonart transponiert.
Jörg
AW: Makro automatisch wiederholen lassen!
08.03.2005 00:27:58
MichaV
Hi,
das Einfachste, reicht für den einmaligen Gebrauch:
For i=1 to XX 'xx=Anzahl der Widerholungen, kannst Du ja irgendwie berechnen
call DeinMakro 'call kannst Du weglassen
Next i
oder:
For i=1 to XX 'xx=Anzahl der Widerholungen
Dein Makro- Code ohne Sub, Exit Sub und Dim
Next i
Ansonsten müsstest Du Dir überlegen, unter welcher Bedingung das Makro nicht mehr ausgeführt werden soll. Dann schau in die VBA- Hilfe unter While...Wend.
Gruß! Micha
Anzeige
AW: Makro automatisch wiederholen lassen!
08.03.2005 08:17:51
Michael
@ JL
also es ist so, das von mir erstellte Makro läuft soweit ganz gut, d.h. ich habe KEINE Probleme mit der automatischen Ausführung von Kopieren und Transponieren.
Jedoch möchte ich gerne wissen, wie der Code lautet in VBA, damit ich dem Makro sagen kann, es soll sich sooft wiederholen, bis dass er die letzte (mit Inhalt gefüllte) Zelle kopiert bzw. in die andere Mappe transponiert hat. Wie geht das?
Mein Problem ist, ich weiß noch nicht einmal wie ich das makro loopen kann, geschweige denn dort eine Bedingung einfügen! Habe das Makro mit dem Aufzeichnungstool in Excel erstellt.
Bitte helft mir, es ist wirklich dringend! ---->DANKE
Anzeige
AW: Makro automatisch wiederholen lassen!
08.03.2005 09:19:23
MichaV
Hallo?
also ich finde schon, daß Dir einige Lösungsvorschläge präsentiert wurden. Vielleicht probierst Du es mal aus? Du kannst sicher nicht erwarten, daß Dir bei Deiner Fragestellung eine für Deine Ansprüche zugeschneiderte Lösung präsentiert wird.
Gruß! Micha
AW: Makro automatisch wiederholen lassen!
08.03.2005 11:23:32
Tobias
Also ich wuerds mit ner for each ... next Schleife machen, so hoert er am Ende von alleine auf, und der Syntax ist auch nicht wirklich schwerer als der von for ... next.
Also, Bereich markieren, dann:
For Each Cell In Selection
DeinCode
Next
Gruss
Tobias
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Makro automatisch wiederholen lassen in Excel


Schritt-für-Schritt-Anleitung

Um ein Makro in Excel automatisch wiederholen zu lassen, kannst du die folgende Schritt-für-Schritt-Anleitung nutzen. Diese Anleitung setzt voraus, dass du bereits ein Makro erstellt hast, welches das Transponieren von Daten durchführt.

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Finde dein Makro:

    • Suche in der linken Seitenleiste unter „Module“ nach deinem Makro.
  3. Füge eine Schleife hinzu:

    • Du kannst das Makro mit einer For-Schleife oder einer For Each-Schleife wiederholen.
    • Beispiel für eine For-Schleife:
    Sub WiederholenMakro()
       Dim i As Integer
       For i = 1 To 38000 ' Anzahl der Wiederholungen
           Call DeinMakro ' Hier dein Makro aufrufen
       Next i
    End Sub
    • Beispiel für eine For Each-Schleife:
    Sub WiederholenMakro()
       Dim Cell As Range
       For Each Cell In Selection
           ' Dein Makro-Code hier
       Next Cell
    End Sub
  4. Bedingung hinzufügen:

    • Wenn du eine Bedingung einfügen möchtest, benutze While...Wend, um das Makro nur so lange laufen zu lassen, bis du die letzte Zelle erreicht hast.
  5. Speichern und Ausführen:

    • Speichere deine Änderungen und führe das Makro aus, um die Daten zu transponieren.

Häufige Fehler und Lösungen

  • Fehler: Makro stoppt vorzeitig

    • Lösung: Überprüfe die Schleifenbedingungen und stelle sicher, dass die Anzahl der Wiederholungen korrekt ist.
  • Fehler: Laufzeitfehler 1004

    • Lösung: Dies kann passieren, wenn du versuchst, auf eine Zelle zuzugreifen, die nicht vorhanden ist. Stelle sicher, dass dein Bereich korrekt definiert ist.
  • Fehler: Ungültiger Prozeduraufruf

    • Lösung: Überprüfe, ob das aufgerufene Makro korrekt geschrieben ist und dass es keine Syntaxfehler gibt.

Alternative Methoden

Falls du nicht mit VBA arbeiten möchtest, gibt es auch alternative Methoden, um Daten in Excel zu automatisieren:

  • Excel-Funktionen: Nutze Funktionen wie TRANSPOSE in Kombination mit anderen Funktionen, um Daten ohne Makros zu transponieren.

  • Power Query: Eine leistungsstarke Option für Datenmanipulation, die eine benutzerfreundliche Schnittstelle bietet, um Daten zu transformieren und zu laden.


Praktische Beispiele

Beispiel 1: Transponiere Daten in einem Bereich

Sub Transponieren()
    Dim i As Integer
    Dim Ziel As Worksheet
    Set Ziel = ThisWorkbook.Worksheets("Zielblatt")

    For i = 1 To 38000
        ' Angenommen, deine Daten sind in Blatt1
        Ziel.Cells(i, 1).Value = ThisWorkbook.Worksheets("Blatt1").Cells(i, 1).Value
    Next i
End Sub

Beispiel 2: Mit For Each Schleife

Sub TransponierenMitForEach()
    Dim Cell As Range
    Dim Ziel As Worksheet
    Set Ziel = ThisWorkbook.Worksheets("Zielblatt")

    For Each Cell In ThisWorkbook.Worksheets("Blatt1").UsedRange
        ' Transponieren
        Ziel.Cells(Cell.Column, Cell.Row).Value = Cell.Value
    Next Cell
End Sub

Tipps für Profis

  • Verwende Do While-Schleifen: Diese sind nützlich, wenn du eine Bedingung hast, die nicht auf einer festgelegten Anzahl von Wiederholungen basiert.

  • Schreibe Kommentare: Kommentiere deinen Code, um die Funktionsweise zu erläutern und die Wartbarkeit zu verbessern.

  • Testen: Teste dein Makro mit kleineren Datensätzen, bevor du es auf große Datenmengen anwendest, um sicherzustellen, dass es wie gewünscht funktioniert.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass mein Makro effizient läuft?
Achte darauf, dass du unnötige Berechnungen vermeidest und den Bildschirm während der Ausführung des Makros ausblendest, um die Performance zu verbessern.

2. Was ist der Unterschied zwischen For und For Each?
For wird verwendet, wenn du eine feste Anzahl von Wiederholungen benötigst, während For Each durch alle Elemente in einer Sammlung oder einem Bereich iteriert und somit flexibler ist.

3. Wie kann ich ein Makro auf einen bestimmten Bereich beschränken?
Verwende Range und definiere den gewünschten Bereich, um sicherzustellen, dass nur die relevanten Zellen bearbeitet werden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige