Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1488to1492
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

nicht benutzte Variablen löschen

nicht benutzte Variablen löschen
28.04.2016 12:07:06
Pepi
Hallo zusammen
Kennt jemand eine Möglichkeit, nicht benutzte Variablen zu erkennen, damit diese gelöscht werden können und der Code übersichtlicher wird.
Ich habe im Web nur Hinweise auf Drittsoftware gefunden.
mfg
Pepi

26
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Strg + F
28.04.2016 12:24:23
Matthias
Hallo
Einfach im VBE nach dieser Variable suchen!(Strg+F) im ganzen Projekt suchen.
Ist dort nur die Daklaration vorhanden und kein weiterer Eintrag,
so brauchst Du sie nicht und kannst sie löschen.
Oder Du kommentierst sie erstmal nur aus (Hochkomma davorsetzen)
Gruß Matthias

AW: Die Idee mit dem Hochkomma
28.04.2016 12:36:55
Daniel
ist super.
einfach die Deklaration auskommentieren und das Makro starten, dann sagt dir VBA sofort, ob du die Variable löschen kannst oder ob sie noch verwendet wird.
(setzt natürlich voraus, dass mit Option Explicit gearbeitet wird, aber das sollte ja Standard sein.)
Gruß Daniel

Anzeige
...Oder nur Debuggen bei auskommentierter ...
28.04.2016 12:55:29
Luc:-?
…Deklaration, Daniel, Matti & Pepi,
dann wird, Option Explicit natürlich vorausgesetzt, die 1.Verwendungsstelle sofort markiert.
Gruß, Luc :-?
Besser informiert mit …

AW: ...Oder nur Debuggen bei auskommentierter ...
28.04.2016 13:10:42
Daniel
sorry Luc, aber welche neue Information bringt uns dein Beitrag?
oder fasst du wieder mal nur zusammen, was andere schon vor dir gesagt haben, damit du auch einen Grund hast, mal wieder einen Beitrag schreiben zu schreiben?
Gruß Daniel

Debuggen hat doch ...
28.04.2016 13:16:56
Rudi
Hallo,
noch keiner vorher vorgeschlagen.
Gruß
Rudi

Anzeige
AW: Debuggen hat doch ...
28.04.2016 13:33:49
Daniel
zum Debuggen musst du das Makro starten...
Gruß Daniel

nö!
28.04.2016 13:40:42
Rudi
hallo,
man kann auch auf Debuggen klicken.
Gruß
Rudi

AW: nö!
28.04.2016 14:04:43
Daniel
und was passiert wenn du auf Debuggen klickst?
Gruß Daniel

was passiert, ....
28.04.2016 14:33:25
Rudi
... ist mir egal.
Auf jeden Fall wirkt sich der Klick auf das gesamte Projekt aus und nicht nur auf eine Prozedur.
Gruß
Rudi

AW: was passiert, ....
28.04.2016 14:36:02
Daniel
Makros mit Parameterübergabe kannst du auch nicht "debuggen".
die musst du auch wie üblich starten.
wenn für diesen Test das Makro nicht durchlaufen werden soll, kann man ja einen Haltepunkt auf den ersten Befehl setzen oder ein STOP als erste Befehlszeile temporär einfügen.
Gruß Daniel

Anzeige
AW: was passiert, ....
28.04.2016 15:16:01
Rudi
Hallo,
Makros mit Parameterübergabe kannst du auch nicht "debuggen".
Quatsch!
Wenn ich in einem Makro mit Parameterübergabe eine nicht deklarierte Variable habe, wird das angemeckert.
Gruß
Rudi

Ist ja auch wurscht...
28.04.2016 15:28:55
Daniel
wer ein Makro "debuggt" um Fehler vom System aufgezeigt zu bekommen, muss es irgendwie starten.
ob man das jetzt gleich im Einzelstepmodus macht oder an bestimmten Stellen Haltepunkte oder Abbruchbefehle wie Stop , Exit Sub oder End einfügt damit der Code nicht vollständig durchlaufen wird, ist doch nebensächlich.
Solange du den Makrolauf nicht startest, wird dir der Interpreter/Compiler keine Fehler anzeigen.
Gruß Daniel

Anzeige
Da irrst du, ...
28.04.2016 15:39:55
Luc:-?
…Daniel,
aber ich hatte mich nicht ganz eindeutig ausgedrückt, konnte ja nicht wissen, dass einer wie du das nicht kennt. Ich meinte den VBE-Kopf-Button Debuggen und im Menü dann den 1.Pkt → Kompilieren von VBAProject !
Denke, Rudi hatte das auch so verstanden… ;-]
Luc :-?

exakt so! owT
28.04.2016 15:43:29
Rudi

AW: ok, das hatte ich jetzt so nicht auf dem Schir
28.04.2016 16:07:53
Daniel
Schirm
sag halt gleich richtig was du meinst, dann versteht man dich auch.´
das Menü braucht man eigentlich nicht, weil die meisten der Befehle ja auch über die entsprechende Symbolleiste erreichbar sind (bis eben auf das Kompilieren)
Gruß Daniel

Anzeige
Tja, dein Pech, Rudi hat's ja auch verstanden! ;-)
28.04.2016 16:24:15
Luc:-?
:-?

AW: jaja, immer sind die anderen Schuld. Luc
28.04.2016 16:40:55
Daniel
ist halt so, nie man selber.

Eben, gilt genau für dich, ...
28.04.2016 17:25:02
Luc:-?
…Daniel;
wer kann denn auch ahnen, dass der „Meister aller Xl-Hebelchen und -Knöpfchen“ sich mit dem VBE nicht auskennt?!
Übrigens, bevor das Projekt kompiliert wird, wird es vom Compiler debugt, um grobe Schnitzer auszuschließen. Diese Kenntnis sollte man von einem erfahrenen User erwarten können! Außerdem erfolgt eine automatische Kompilierung bei jeder Anwendung eines Pgms im VBA-Projekt, also auch beim DateiSpeichern, wenn NeuBerechnung vor Speichern nicht abgeschaltet ist.
Aber, obwohl du das alles nicht zu wissen schienst, hast du dich trotzdem zu einer Attacke hinreißen lassen. Da geschieht's dir doch nur recht, wenn du dich blamiert hast. Daran ändert auch dein dreistes Gebahren jetzt nichts, das Gefecht ist bereits verloren und das, was du jetzt ablieferst, nur noch albernes RückzugsGeplänkel.
Immer schön von anderen erwarten, was man selbst nicht zu tun bereit ist, zeichnet den Egomanen aus! :->
Luc :-?

Anzeige
AW: Eben, gilt genau für dich, ...
28.04.2016 17:47:12
Daniel
ähm, was habe ich jetzt von dir erwartet was ich selbst nicht zu tun bereit bin?

Na, überleg mal...! ;-> owT
29.04.2016 01:01:21
Luc:-?
:-?

dann hast du jetzt was gelernt. owT
28.04.2016 16:31:30
Rudi

AW: dafür ist ein Forum ja da ;-)
28.04.2016 16:41:27
Daniel
xxx

AW: nicht benutzte Variablen löschen
28.04.2016 12:34:16
Daniel
Hi
der VBA-Editor hat eine Suchfunktion.
gib einfach die Dimensionierten Variablen nacheinander dort ein und dann wirst du schnell feststellen, was noch benutzt wird oder nicht.
nutze dabei die Optionen "ganzes Wort" und auch "Grossschreibung beachten", damit Variablen mit kurzen Namen (i, x) nicht als Bestandteil von Wörtern gefunden werden.
beachte auch, wo du suchst (Prozedur, Modul, ganzes Projekt, markierter Text)
Variablen, die nur für eine Prozedur gültig sind, solltest du auch nur in dieser Prozedur suchen.
Gruß Daniel

Anzeige
AW: nicht benutzte Variablen löschen
29.04.2016 09:28:32
Pepi
Hallo zusammen
Ich weiss nicht was hier passiert ist - ich stelle eine ganz einfache Frage und erhalte eine ganze Flut von Antworten. Kann gut sein, dass ich vor lauter Bäumen den Wald nicht mehr sehe - sprich: ein guter Lösungsansatz übersehen habe. Die Möglichkeit ein Variablendefinition zu löschen oder auszukommentieren oder nach ihr zu suchen kenne ich und habe bis jetzt auch angewendet. Doch bei 50 Variablen und mehr ist dieser Weg ziemlich mühsam. Ich dachte da an ein Makro, das diese Arbeit für mich tut. Zum Beispiel alle definierten Variablen im Makro suchen und wenn sie nur einmal vorkommen eine Meldung ausgeben.
Noch etwas zum Umgang: In der ganzen Welt (Politik, Wirtschaft, ...) wird der Ton härter - wohin führt diese Art von Umgang? - Respektlosigkeit, keine Wertschätzung, Ueberheblichkeit, etc. Wollen wir hier im Herberforum auch so miteinander umgehen - ich hoffe auf ein klares Nein! Ich bin immer wieder zu tiefst dankbar, für all die Tipps und Hilfeleistungen, die ich durch das Herberforum erhalten habe. Einige Problemstellungen hätte ich mit meinem Wissen nie und nimmer lösen können. Herzlichen Dank an alle! Ich wünsche mir in Zukunft ein gutes Miteinander.
Seid herzlich gegrüsst. Pepi
Wenn ich nun noch einen Tipp für meine (ursprüngliche) Frage "nicht benutzte Variablen löschen" erhalte, freue ich mich sehr.
mfg
Pepi

Anzeige
AW: nicht benutzte Variablen löschen
29.04.2016 10:39:29
Daniel
Hi
im VBA-Editor ist so eine Bearbeitungsfunktion meines bescheidenen Wissens nach nicht eingebaut.
Da wirst du auf die angebotene Drittsoftware zugreifen müssen.
du kannst dir natürlich auch selber was stricken.
der VBA-Code ist auch nur ein Text
du kannst ihn in eine Exceltabelle kopieren und dann mit Formeln oder Makros bearbeiten und analysieren.
z.B. kannst du ja mit ZählenWenn ermitteln, wie oft ein Variablenname im Text vorkommt.
wenn du den Code in Spalte A eingefügt hast, dann in die Spalte neben den Variablendeklarationen folgende Formel, um den Variablennamen zu extrahieren und zu zählen (hier für einfache Variablen mit DIM:
=ZählenWenn(A:A;"*"&Teil(A2;5;Finden(" As";A2)-5)&"*")
hat natürlich ein paar Tücken, bspw sollte der Variablenname eine Zeichenfolge sein, die sonst nicht vorkommt, dann musst du ggf die Leerzeichen in die Suche mit aufnehmen, das findet dann aber die Variable nicht, wenn sie in Klammern steht.
ist jetzt noch keine fertige Lösung, aber du hast mal einen Ansatz, wenn du dir selber was stricken kannst.
Ein anderer Ansatz:
- Deklariere alle Variablen nur als Variant
- setze vor dem End Sub einen Haltepunkt
- Überprüfe im Lokalfenster den Typ der Variablen. die Variablen, die auf "Variant/Empty" stehen, wurden wahrscheinlich noch nie benutzt.
Gruß Daniel

Anzeige
AW: nicht benutzte Variablen löschen
29.04.2016 09:28:57
Pepi
Hallo zusammen
Ich weiss nicht was hier passiert ist - ich stelle eine ganz einfache Frage und erhalte eine ganze Flut von Antworten. Kann gut sein, dass ich vor lauter Bäumen den Wald nicht mehr sehe - sprich: ein guter Lösungsansatz übersehen habe. Die Möglichkeit ein Variablendefinition zu löschen oder auszukommentieren oder nach ihr zu suchen kenne ich und habe bis jetzt auch angewendet. Doch bei 50 Variablen und mehr ist dieser Weg ziemlich mühsam. Ich dachte da an ein Makro, das diese Arbeit für mich tut. Zum Beispiel alle definierten Variablen im Makro suchen und wenn sie nur einmal vorkommen eine Meldung ausgeben.
Noch etwas zum Umgang: In der ganzen Welt (Politik, Wirtschaft, ...) wird der Ton härter - wohin führt diese Art von Umgang? - Respektlosigkeit, keine Wertschätzung, Ueberheblichkeit, etc. Wollen wir hier im Herberforum auch so miteinander umgehen - ich hoffe auf ein klares Nein! Ich bin immer wieder zu tiefst dankbar, für all die Tipps und Hilfeleistungen, die ich durch das Herberforum erhalten habe. Einige Problemstellungen hätte ich mit meinem Wissen nie und nimmer lösen können. Herzlichen Dank an alle! Ich wünsche mir in Zukunft ein gutes Miteinander.
Seid herzlich gegrüsst. Pepi
Wenn ich nun noch einen Tipp für meine (ursprüngliche) Frage "nicht benutzte Variablen löschen" erhalte, freue ich mich sehr.
mfg
Pepi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen