Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
452to456
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
452to456
452to456
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Deklaration erforderlich?

Deklaration erforderlich?
09.07.2004 18:16:49
Frank
Hall Leute,
mal eine ganz blöde Frage, wozu muss ich Variablen deklarieren, es geht
ja auch ohne. Wo liegt der Vorteil?
Danke für Antworten.
Grüße Frank

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Deklaration erforderlich?
Boris
Hi Frank,
das gehört einfach zum guten Programmierstil, wenngleich das frühere Argument der Speicherintensität von nicht deklarierten Variablen (da Variant) heute nicht mehr unbedingt ausschlaggebend ist.
Weiterhin können nicht deklarierte Variablen im Laufe einer Prozedur mutieren, da sie immer den vermeintlich benötigten Variablentyp annehmen. Das kann zu Überraschungen führen.
Ein für mich sehr entscheidendes Argument ist das Arbeiten mit der Intellysense, die naturgemäß nur mit ordnungsgemäß deklarierten Variablen funktioniert.
Das sag ich jetzt mal als "Nicht-VBAler". Sehe aber grade, dass auch K.Rola Online ist - sie wird dir das vermutlich noch aus der Programmierersicht schildern können (wenn sie denn Lust hat;-)
Grüße Boris
Anzeige
Hat sie nicht oT
K.Rola
K.Rola
Wie immer - absolut prägnant...oT
Boris
Grüße Boris
AW: Deklaration erforderlich?
Frank
Hallo Boris,
hmm...Intellysense, kannst du das mal erklären, weiß nicht, was du meinst?
Woher weiß ich, welche Variable wofür die richtige ist?
Danke für deine Mühe.
Grüße Frank
AW: Deklaration erforderlich?
Boris
Hi Frank,
hmm...Intellysense, kannst du das mal erklären, weiß nicht, was du meinst?
Gib mal im VBA-Editor 'Application.' ein - und es öffnet sich (nach Eingabe des Punktes) ein Kontextmenü mit - sehr vereinfacht gesagt - allem, was zu 'Application' auswählbar ist. Das ist quasi die Intellysense und funktioniert analog mit ordnungsgemäß deklarierten Variablen.

Sub test()
Dim App As Application
App. 'Hier kommt das Menü
End Sub

Woher weiß ich, welche Variable wofür die richtige ist?
Du meinst wohl nicht die Variable, sondern den Variablentyp.
Dafür hilft ein kleines "VBA-Studium" - schau dich mal hier auf Herbers Seite um.
Text als 'String', Ganzzahlen als Byte, Integer oder Long (je nach Grösse), Bereichsvariablen als 'Range' etc. etc...
Grüße Boris
Anzeige
AW: Deklaration erforderlich?
Frank
Hallo Boris,
danke, ich werde mich in Zukunft daran halten.
Grüße Frank
AW: Deklaration erforderlich?
Boris
Hi Frank,
ich hab mich im übrigen dazu gezwungen, Variablen zu deklarieren, indem ich unter Extras-Optionen-Variablendeklaration erforderlich aktiviert habe.
Jedes Modul beginnt somit mit 'Option Explicit'.
Ein Code mit irgendeiner nichtdeklarierten Variable läuft erst gar nicht.
Das mag am Anfang mühsam sein - zahlt sich aber später aus.
K.Rola hat mir das seinerzeit mit auf den Weg gegeben - es war goldrichtig.
Grüße Boris
AW: Deklaration erforderlich?
10.07.2004 10:42:31
Jörg
Hallo Frank,
zwei kleine Ergänzungen zu dem, was Boris geschrieben hat:
1. Bei größeren Projekten verwendet man naturgemäß viele Variablen und die Gefahr ist groß, daß man sich mal vertippt. Das kann nicht passieren, wenn Du so vorgehst, wie Boris es beschrieben hat.
2. Beim Einsatz von Variablen kann man auch schnell mal den Überblick verlieren. Deshalb bietet es sich an, sich an die Namenskonventionen zu halten. Das heißt, daß man dem Namen ein Kürzel des Typs voranstellt. Beispiele:
strMeinName für eine Variable des Typs String,
lngZeile für Long,
usw.
Irgendwo gibt es da auch eine Übersicht, habe die Adresse aber gerade nicht da.
Und ein kleiner Ratschlag: Wenn man beim Dimensionieren sinnvoll Groß- und Kleinschreibung einsetzt und später die Variablennamen klein schreibt, sieht man, ob man den Namen richtig geschrieben hat. Wenn VBA den Namen automatisch in Groß- und Kleinschreibung umwandelt, hat man den Namen richtig geschrieben.
Viele Grüße
Jörg
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige