Hallo ihr alle
Ihre Makros sind nicht abgestürzt und jetzt Ja. Es ist ein Chaos, sogar bedauerlich!
SolidWorks und im weiteren Sinne Windows informieren Sie nicht über die Änderungen, die sie vornehmen.
Ihre Kollegen erzählen Ihnen aus Zeitmangel nicht die Details ihrer Updates zu diesem und jenem.
Fazit: Ihre Makros können nur im Laufe der Zeit zuverlässig sein!
Meiner Meinung nach sind zwei Vorsichtsmaßnahmen zu treffen:
- Beschädigung der Datei, die ein Makro enthält>> es ist selten, aber evolutionäre Archivierung (evolutionär = n°
in Dateinamen): Fordern Sie einen Import von der Programmierschnittstelle "VBA" an,
regelmäßig, oder wenn Ihr Makro an "Gewicht" zugenommen hat. Ein Kopieren und Einfügen in Word gibt nur
Text, aber warum nicht (hack).
- das Makro hat keine Fehlerbehandlung >> verwenden Sie zumindest die Anweisungen "Bei Fehler goto" oder "Bei Fehler"
Weiter fortsetzen" (klicken Sie auf ein Schlüsselwort in Ihrem Makro [z. B. "Fehler"], und drücken Sie dann F1, um weitere Informationen über die
lokale oder Online-Hilfe).
Ein Beispiel für Excel-Makros mit einer embryonalen Fehlerbehandlung (Wörter unterstrichen):
Private Sub Workbook_BeforeClose (als boolescher Wert abbrechen)
Bei Fehler Gehe zu FehlerVerarbeitungWird an den Anfang jeder Prozedur gestellt (ereignisbasiert oder nicht)
"Blenden Sie das Blatt 'Einstellungen' systematisch aus
Sheets("Parameter"). Sichtbar = Falsch
'Kehren Sie zum Zoom des Blattes "Kleines Benutzerhandbuch" zurück, wie es beim Öffnen der Datei war.
Sheets ("Eine kleine Bedienungsanleitung"). Aktivieren
Bereich ("A1:AI111"). Wählen Sie: ActiveWindow.Zoom = True: [A1]. Auswählen
'Kehren Sie zum Zoom des Blattes "EVAL_GLOBALE_EXPLO2015" zurück, wie es beim Öffnen der Datei war.
Mit Sheets("EVAL_GLOBALE_EXPLO2015")
. Aktivieren
Bereich ("A1:S30"). Wählen Sie: ActiveWindow.Zoom = True: [B6]. Auswählen
'Kehren Sie zur Visualisierung zurück, wie sie beim Öffnen der Datei war.
[CTRL1] = 1: VisualTeaching 'Alle Lehren anzeigen.
[STRG2] = 1: VisualGroup' Visualisieren Sie die erste der Schülergruppen.
'Erzwingt den Modus "Eingabe aktiviert" wie beim Öffnen einer Datei.
. Unprotect
. Shapes("InputStatus"). TextFrame.Characters.Text = "Eingabe aktiviert": [InputStatus] = wahr
. Schützen
Enden mit
'Speichern Sie die Datei automatisch, bevor sie geschlossen wird.
ActiveWorkbook.Speichern
Sub beenden
Behandlung: Etikett
Stopp 'Zur Verifizierung
"Für den Fall, dass die Blätter ihren Namen geändert haben, so
"Nur für den Fall...
"Die Fehlerverarbeitung ist hier nicht programmiert...
Ende Sub
Wenn eine Zeile unter On Error GoTo Error "mistig" ist, verursacht sie beim Ausführen des Makros einen Fehler, dann bleibt sie bei der "Stop"-Anweisung stehen. Dies deutet auf einen Fehler hin, es ist ein erster Schritt.
Ein kleiner Trick, um die "beschissene" Zeile zu finden> klicken Sie Schritt für Schritt auf (
), um das Makro zu starten, und lassen Sie es sich entfalten, > eine gelbe Spur zeigt die Zeile an, die ausgeführt werden soll. Sobald der Fehler auftritt, wird die beschissene Zeile nicht ausgeführt und der Prozess wird unterhalb des Labels ErrorProcessing: fortgesetzt.
Die minimale Fehlerbehandlung ist ein 'Stop' (Schlüsselwort) unter ErrorHandling: . Von dort aus können Sie die Fehlernummer abrufen und sie verwenden, um den Fehler zu verarbeiten, zu warnen, ....
Schönen Tag.