Allgemeine Frage zur Variablendeklaration

12/03/2008 - 12:00 von Jürgen Dietze | Report spam
Excel2007

Hallo zusammen,
ich verwende (aus meiner Sicht) recht umfangreiche Makrolösungen in Excel,
in denen ich sehr hàufig auf Tabellenblàtter veweise nach dem Motto:

Set wb =thisworkbook
Set wsA = wb. worksheets("Tabelle1")
Set wsB = wb. worksheets("Tabelle2") usw.

Die betreffenden Prozeduren werden hàufig aufgerufen, zwischendurch wird
auch wieder in den Tabellenblàttern selbst gearbeitet. Jetzt zu meiner Frage:

Ist es sinnvoll, beim Starten der Arbeitsmappe alle Verweise zu setzen und
erst beim Beenden wieder auf Nothing zu setzen
oder
setzt man die Verweise an Anfang und Ende jeder Prozedur?

Macht es einen Unterschied bzgl. der Speicherverwaltung? Oder ist das eine
eher philosophische Frage, die ich hier stelle?

Gruß
Jürgen Dietze
 

Lesen sie die antworten

#1 Peter Schleif
12/03/2008 - 13:00 | Warnen spam
Jürgen Dietze schrieb am 12.03.2008 12:00:

in denen ich sehr hàufig auf Tabellenblàtter veweise nach dem Motto:

Set wb =thisworkbook
Set wsA = wb. worksheets("Tabelle1")
Set wsB = wb. worksheets("Tabelle2") usw.



Das sind Variablen. Unter Verweisen versteht man eher Verknüpfungen zu
externen Lis wie z.B. DLLs. -> Menü Extras | Verweise.


Ist es sinnvoll, beim Starten der Arbeitsmappe alle Verweise zu setzen und
erst beim Beenden wieder auf Nothing zu setzen



IMHO Nein.

Superglobale Variablen machen mehr Probleme als sie Vorteile bringen.
Besser sind lokale Variablen; gekapselt in den Modulen und Prozeduren
wo Du sie tatsàchlich brauchst.


setzt man die Verweise an Anfang und Ende jeder Prozedur?



In der Regel _setzt_ man sie wohl am Anfang und enfernt sie wieder am
Ende. (entfernen = Set Nothing)


Macht es einen Unterschied bzgl. der Speicherverwaltung?



Ob die Variablen lokal oder global deklariert sind spielt keine
Rollen. Die Frage ist, ob sie ordnungsgemàß entsorgt werden. Dazu gab
es hier kürzlich eine kurzen Thread:

<47c7eedf$0$14414$

http://groups.google.de/group/micro...b210adc8b6

Wegen der Performance brauchst Du dir hingegen keine Sorgen zu machen.
Selbst 100 Worksheet-Variablen werden in kaum messbarer Zeit angelegt
und wieder entfernt.

Peter

Ähnliche fragen