Microsoft Excel

Herbers Excel/VBA-Archiv

Automatisch jede Codezeile ausgeben?

Betrifft: Automatisch jede Codezeile ausgeben? von: Alex
Geschrieben am: 06.11.2020 17:33:07

Hallo zusammen,

ich würde gerne ein ausführliches Debug in meinen Code eingeben.
Das bedeutet, wenn ich die Debug-Funktion einschalte, soll jede einzelne Codezeile nach der Ausführung in ein Sheet im aktuellen Workbook ausgegeben werden.

Ich weiß, das klingt nach vielen Daten, aber es wäre für die Remote Fehlersuche sehr praktisch.

Weiß jemand, ob das irgendwie machbar ist ohne den bestehenden Code komplett umschreiben zu müssen?

Vielen Dank für Eure Hilfe und viele Grüße
Alex

Betrifft: AW: Automatisch jede Codezeile ausgeben?
von: Oberschlumpf
Geschrieben am: 06.11.2020 17:37:33

Hi Alex,

Zitat:
"Weiß jemand, ob das irgendwie machbar ist ohne den bestehenden Code komplett umschreiben zu müssen?"

Dafür müsste der gesuchte Code funktionierend vorhanden sein.
Können wir sonst irgdwie helfen?

Ciao
Thorsten

Betrifft: AW: Automatisch jede Codezeile ausgeben?
von: Alex
Geschrieben am: 06.11.2020 17:48:20

Hallo Thorsten,

wie meinst du das? Der Code funktioniert aktuell. Ich möchte jetzt dafür sorgen, dass wenn bei jemand anderem ein Fehler auftreten sollte, ich erkennen kann, was das Problem ist.

Viele Grüße
Alex

Betrifft: AW: Automatisch jede Codezeile ausgeben?
von: Oberschlumpf
Geschrieben am: 06.11.2020 18:11:33

Hi Alex,

na, funktionierender Code = der von dir! gesuchte = der Code für "dass wenn bei jemand anderem ein Fehler auftreten sollte, ich erkennen kann, was das Problem ist."

Und wenn du, wie von dir gewünscht, nix weiter ändern willst, dann muss eben der gesuchte schon - bei dir - vorhanden sein.

Mit anderen Wörtern:
Ohne zu deinem bestehenden Code weiteren hinzuzufügen und vielleicht auch mit der Notwendigkeit, dass einiges an bestehendem Code geändert/angepasst werden muss, wird dein Vorhaben - nicht - gelingen.

Grundsätzlich würde ich dir ein On Error GoTo - Fehlermanagement vorschlagen.
Dazu musst du in jedes Sub/jede Function eine Fehlerroutine einbauen, die eben "anspringt", wenn es doch zu einem Fehler kommt.
Und in dieser Routine könntest du z Bsp in eine für den Normal-User versteckte Tabelle Datum, Fehlermeldung, Fehlernr, Codezeilennr, etc automatisiert eintragen.
Voraussetzung für Codezeilennr ist, dass - jede! - Codezeile mit einer Zeilennummer beginnt; so gesehen musst du also doch den ganzen Code anpassen.

Wir könnten vielleicht helfen, wenn du uns wenigstens mal ne Bsp-Datei per Upload zeigst. Diese Bsp-Datei muss natürlich deinen Code inkl Zeilennummern enthalten.

Ciao
Thorsten

Betrifft: AW: Automatisch jede Codezeile ausgeben?
von: Daniel
Geschrieben am: 06.11.2020 18:48:30

Hi
das Umschreiben geht auch so:

1. kopiere den Code in ein Tabellenblatt in Spalte A
2. schreibe in Spalte B daneben die Zeilennummern (aufsteigende Nummernfolge)
3. kopiere die Nummern aus Spalte B und füge sie direkt unterhalb in Spalte B nochmal ein
4. schreibe in die leeren Zellen in Spalte A neben die hinzugefügten Zeilennummern die Formel:
="Sheets(1).Rows(.count,1).end(xlup).offset(1, 0).value = """&WECHSELN(INDEX(A:A;ZEILE()-1);""""; """""") &""""

5. sortiere jetzt die Tabelle nach Spalte B.

jetzt sollte in der Exceltabelle der Programmcode stehen und nach jeder Zeile eine weitere Befehlszeile, die den code aus der Zelle drüber ins erste Tabellenblatt schreibt.
wenn du das jetzt vom Excelblatt in den Codeditor kopierst, solltest du haben was du willst.
dh nach ausführung jeder Programmzeile wird diese ins Excelblatt geschrieben

Kommentare und Leerzeilen solltest du vorher rauslöschen.

Gruß Daniel

Beiträge aus dem Excel-Forum zum Thema "Automatisch jede Codezeile ausgeben?"