Discussion:
VBA Codefehler suchen
(zu alt für eine Antwort)
Hans Alborg
2015-11-15 15:52:46 UTC
Permalink
Hallo,

<Excel 2007>

Ich habe heute -weil Regentag- viel an meiner Mappe (Eisenbahnsimu) gebaut.
Darunter viele Abfragen von Formaten in der Tabelle.
Also eine Menge IF, ELSEIF und END IF, aber auch viel Anderes.

Jetzt hängt sich Excel auf, wenn ich z.B. Kommentare löschen will, wenn ich
in den Blättern Bereiche kopiere und woanders einsetze usw., das war gestern
noch nicht so.
Ich muß bei jeder einzelnen Aktion speichern (>6MB); die Mappe läuft aber!

Da ich mit Codefehlern (natürlich) schon viel erlebt habe und weiß, daß
Excel mit "kleinen Fehlern" immer noch zu laufen versucht, vermute ich mal
einen Tippfehler im Code oder sowas.

Jetzt alles händisch zu durchforsten kann 1 Woche dauern.
Ich hab im Netz nach Tools gesucht, die VBA-Code automatisch prüfen können,
hab aber nur Erklärungen gefunden, wie man IF / END IF benutzt.

Also Frage: gibt es nützliche Tools für sowas? (Äh, die ich nicht kaufen
muß...)

TIA,

Hans
Claus Busch
2015-11-15 16:04:23 UTC
Permalink
Hallo Hans,
Post by Hans Alborg
Jetzt hängt sich Excel auf, wenn ich z.B. Kommentare löschen will, wenn ich
in den Blättern Bereiche kopiere und woanders einsetze usw., das war gestern
noch nicht so.
Ich muß bei jeder einzelnen Aktion speichern (>6MB); die Mappe läuft aber!
kann es sein, dass beim Selektieren ein
Worksheet_SelectionChange-Ereignis ausgelöst wird. Das könntest du mit
Application.EnableEvents = False
Dann musst du aber eine Fehlerbehandlung einbauen, damit auch ganz
bestimmt wieder auf True gesetzt wird.
Sonst schau mal hier:
https://www.add-ins.com/macro-products-for-Microsoft-Excel/ways-to-repair-vba-code/how-to-fix-vba-code.htm


Mit freundlichen Grüßen
Claus
--
Vista Ultimate / Windows7
Office 2007 Ultimate / 2010 Professional
Hans Alborg
2015-11-15 17:16:18 UTC
Permalink
Hallo Claus,

danke für die fixe Antwort!

"Claus Busch" schrieb...
Post by Claus Busch
kann es sein, dass beim Selektieren ein
Worksheet_SelectionChange-Ereignis ausgelöst wird.
Nein, das bearbeitete Blatt hat keinen Code hinterlegt. Es gibt nur
Kommentare und indirekte Formatierungen als "bewegliche Elemente".

[Application.EnableEvents = False]
Post by Claus Busch
Dann musst du aber eine Fehlerbehandlung einbauen, damit
auch ganz bestimmt wieder auf True gesetzt wird.
Da müßte ich die Routine wissen wo der Fehler steckt. Wenn es überhaupt ein
Codefehler ist.
Es gibt halt sehr viele Codeschnipsel, die selten benutzt werden, also läuft
die Mappe "mit Bauchschmerzen".
Post by Claus Busch
https://www.add-ins.com/macro-products-for-Microsoft-Excel/ _
ways-to-repair-vba-code/how-to-fix-vba-code.htm
Das ist auf jeden Fall interessant. Damit werde ich mich beschäftigen.
Auch die Angaben in dem Text weiter unten, daß zu größere Module mit viel
(gutem) Code zum Chrash neigen, ist sehr interessant. Tatsächlich habe ich
in den letzten Tagen Code auf weitere Module verteilt und bis dahin
abstürzende große Simulationen liefen plötzlich. Das hatte ich damit aber
nicht in Verbindung gebracht!

Hm. Ich hatte mir unter Fehlersuchtool sowas vorgestellt, das den Code je
Einrückung farbig markiert (nur Schleifen, IF- Zeilen und so), ggf. mit dem
Code als Textcopy außerhalb von Excel.
Mal sehen was der Codecleaner so macht...


Vielen Dank Claus!

Hans

Lesen Sie weiter auf narkive:
Loading...