Diese Antwort wurde automatisch übersetzt. Daher kann es zu grammatikalischen Fehlern oder seltsamen Formulierungen kommen.
Hallo, c7thh
Willkommen in der Microsoft-Community.
Wenn Sie ein Makro mehrfach in Excel anwenden und die Ergebnisse in einer Tabelle speichern möchten, müssen Sie in der Regel den nächsten verfügbaren Platz in Ihrer Datenmatrix (Tabelle) dynamisch ermitteln. Hier ist ein allgemeiner Ansatz, um dies zu tun:
- Richten Sie Ihre Datentabelle ein: Erstellen Sie zunächst eine Tabelle in Excel, in der Sie die Ergebnisse speichern möchten. Sie können die integrierte Tabellenfunktion von Excel verwenden, die die Arbeit mit strukturierten Daten erleichtert.
- Schreiben Sie das Makro: Schreiben Sie das Makro, das Sie anwenden möchten, mehrmals. Stellen Sie sicher, dass das Makro die Daten verarbeitet und die Ergebnisse in den entsprechenden Spalten der Datentabelle platziert.
- Erstellen Sie eine Zählervariable: Um den nächsten verfügbaren Speicherort zu bestimmen, benötigen Sie in der Regel eine Zählervariable. Sie können dies tun, indem Sie ein neues Arbeitsblatt erstellen oder eine Zelle innerhalb desselben Arbeitsblatts verwenden, um die nächste Zeile zum Ausfüllen der Datentabelle nachzuverfolgen.
- Führen Sie das Makro aus: Verwenden Sie in Ihrem Makro die Zählervariable, um die nächste verfügbare Zeile in der Datentabelle zu identifizieren. Sie können dies tun, indem Sie auf die Zelle verweisen, in der Sie den Zählerwert speichern. Wenn sich der Leistungsindikator z. B. in Zelle A1 befindet, können Sie ihn verwenden, um die nächste verfügbare Zeile abzurufen.
Range("A1").Value
- Aktualisieren Sie die Zählervariable: Nachdem Sie die Daten verarbeitet und die Ergebnisse in der Datentabelle gespeichert haben, erhöhen Sie die Zählervariable um 1, sodass sie auf die nächste verfügbare Zeile verweist. Sie können dies tun, indem Sie den Zählerwert hinzufügen und dann die Zelle A1 mit dem neuen Wert aktualisieren.
' Increment the counter
Range("A1").Value = Range("A1").Value + 1
- Schleife oder Wiederholung: Verwenden Sie eine Schleife in Ihrem Makro, um den Vorgang je nach den vorhandenen Daten so oft wie nötig zu wiederholen.
- Endzustand: Stellen Sie sicher, dass Sie eine Endbedingung in Ihre Schleife aufnehmen, z. B. eine Überprüfung, ob alle Daten verarbeitet wurden. Wenn die Endbedingung erfüllt ist, beenden Sie die Schleife.
Hier ist ein vereinfachtes Beispiel dafür, wie dies in VBA-Code aussehen könnte:
Sub ApplyMacroMultipleTimes()
Dim counter As Long
counter = Range("A1").Value ' Get the current counter value
Do While ' Add your end condition here
' Your macro code to process and store data in the table
' Increment the counter
counter = counter + 1
Range("A1").Value = counter ' Update the counter value
Loop
End Sub
Denken Sie daran, diesen Code an Ihre spezifischen Anforderungen und die Struktur Ihrer Daten anzupassen.
Darüber hinaus ist die am besten geeignete Community für die Veröffentlichung Ihres Problems (VBA-bezogen) Microsoft Learn (hauptsächlich auf Englisch), ein professioneller Ort, der sich aus vielen technischen Experten oder fortgeschrittenen Benutzern wie Ihnen zusammensetzt. Werfen Sie einen Blick auf den folgenden Beitrag, der Sie an die entsprechende Stelle führen kann.
Office VBA-Support und Feedback | Microsoft Learn
Darüber hinaus werde ich diesen Thread offen halten, falls unser MVP/Volunteer-Moderator einige spezifische Erkenntnisse für Sie hat.
Vielen Dank für Ihr Verständnis und Ihre Geduld. Bitte zögern Sie nicht, mich wissen zu lassen, wenn Sie weitere Updates haben, danke.
Beste Wünsche
Mia |Spezialist für Microsoft-Community-Support