ich möchte ein Makro, dass durch einen Button ausgelöst wird an einer bestimmten Stelle anhalten, um evt. Korrekturen in die Tabelle vornehmen zu können.
Danach soll es durch einen Button fortgesetzt werden.
Vorab schon mal Danke!
Werner F.
Option Explicit
Public wert As String
Sub test1()
wert = InputBox("eingeben!")
End Sub
Sub test2()
MsgBox wert
End Sub
Oder die Variablen mit CALLS übergeben, oder in ein extra Tabellenblatt schreiben.
Sub Test1()
Dim TWert
TWert = …
Call Test2(TWert) 'oder Test2 TWert
End Sub
Sub Test2(twt)
MsgBox CStr(twt)
End Sub
Allerdings hättest du hierbei wieder das gleiche Problem, denn es erfolgt keine Unterbrechung. Die Programme müssen schon separat aufgerufen wdn. Es könen auch 2 einfache Rufpgmm sein, die dein HptPgm unterschiedl parametriert aufrufen und so dafür sorgen, dass einmal an der bewussten Stelle beendet und beim anderen Mal danach fortgesetzt wird. Das kennt man in der Pgmierung schon seit ewigen Zeiten → defacto ein Pgm mit 2 Eingängen („Hintertür“).
Makro erstellen: Öffne Excel und gehe zu Entwicklertools > Visual Basic
, um den VBA-Editor zu starten.
Neues Modul hinzufügen: Klicke auf Einfügen > Modul
, um ein neues Modul zu erstellen.
VBA-Code einfügen: Füge den folgenden VBA-Code ein, um ein einfaches Makro zu erstellen, das du anhalten und fortsetzen kannst:
Option Explicit
Public wert As String
Sub MakroStart()
wert = InputBox("Gib deinen Wert ein:")
MsgBox "Makro wird angehalten. Bitte bearbeite die Tabelle."
' Hier kannst du deine Tabelle bearbeiten
MsgBox "Makro wird fortgesetzt."
End Sub
Makro ausführen: Starte das Makro über einen Button oder direkt im VBA-Editor. Das Makro wird an der Stelle angehalten, wo die erste MessageBox erscheint.
Tabelle bearbeiten: Nimm die notwendigen Änderungen in deiner Excel-Tabelle vor.
Makro fortsetzen: Klicke auf "OK" in der zweiten MessageBox, um das Makro fortzusetzen.
wert
als Public deklariert ist, damit sie zwischen den Makros erhalten bleibt.Zwei separate Makros: Du kannst zwei Makros verwenden, wobei das erste bis zu einem bestimmten Punkt läuft und das zweite die Bearbeitung fortsetzt. Beispiel:
Sub Makro1()
' Code bis zu dem Punkt, an dem du anhalten möchtest
MsgBox "Makro 1 wird angehalten. Bearbeite die Tabelle."
' Hier kannst du deine Tabelle bearbeiten
End Sub
Sub Makro2()
' Fortsetzung des Codes
MsgBox "Makro 2 wird ausgeführt."
End Sub
Haltepunkte im VBA-Editor: Du kannst Haltepunkte im VBA-Editor setzen, um das Makro an bestimmten Stellen zu stoppen, wenn du den Code debuggen möchtest.
Ein Beispiel eines Makros, das eine Bearbeitung der Tabelle ermöglicht, könnte wie folgt aussehen:
Sub BeispielMakro()
Dim wert As String
wert = InputBox("Gib einen neuen Wert für A1 ein:")
Range("A1").Value = wert
MsgBox "Wert in A1 wurde geändert."
End Sub
Hier wird der Benutzer aufgefordert, einen neuen Wert einzugeben, und dieser wird in Zelle A1 der Tabelle gesetzt.
Call
: Du kannst Call
verwenden, um eines Makro aus einem anderen aufzurufen und Parameter zu übergeben. Dies ermöglicht mehr Flexibilität beim Arbeiten mit Variablen.1. Wie kann ich ein Makro anhalten und fortsetzen?
Durch die Verwendung von MessageBoxen oder InputBoxen kannst du das Makro anhalten und dem Benutzer die Möglichkeit geben, Änderungen an der Tabelle vorzunehmen.
2. Was ist der Unterschied zwischen Haltepunkten und MessageBoxen?
Haltepunkte sind nützlich für das Debuggen von Code, während MessageBoxen eine benutzerfreundliche Möglichkeit bieten, um den Benutzer zur Interaktion aufzufordern.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen