Clever-Excel-Forum

Normale Version: VBA referenzieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
heje excelfreunde,

welche form des referenzierens stellt die beste, vernünftigste, programmiertechnischte best lösung dar. was meinen die programmierexperten oder was würden sie vorschlagen...

beispiel:
Tabellenbuch: DerAnsatz.xlsm mit tabelle1(grundlagen)....

Dim WSPD As Worksheet
Set WSPD = Worksheets("grundlagen")

oder

Dim WSPD As Worksheet
Set WSPD = thisworkbook.Worksheets("grundlagen")

oder

mit tabelle1(grundlagen) in der form tab01_grundlagen(grundlagen)

Dim WSPD As Worksheet
Set WSPD = tab01_Grundlagen

oder welche andere referenzierung stellt die beste lösung dar...
Verwende die 'CodeName':


Code:
With tab01_grundlagen


end with
Hallo Janosh,

im Standardfall und wenn es fachlich richtig ist, würde ich "ThisWorkbook...." vorziehen.
Es sind zwar einige Buchstaben mehr zu schreiben als nur "Worksheets()..." aber sichert vor Fehlverhalten bei mehreren geöffneten Dateien mit gleichnamigen Arbeitsblättern.

Falls es aber fachlich nicht richtig ist, ist dem Programmierer bewust , dass er mit verschiedenen Dateien arbeitet, und die notwendige Referenz ist abhängig vom Umfeld. Wenn möglich ist auch hier ein explicites Ansprechen der richtigen Datei (Beispiel3) vorzuziehen.
heje excelfreunde,

vielen dank für die antworten...bedauerlicherweise kanne ich erst jetz antworten.
ich dachte, dass noch einige worte über "excel intellisense" dazu fallen würden...
Hallo Janosch,

(26.03.2017, 10:56)radagast schrieb: [ -> ]ich dachte, dass noch einige worte über "excel intellisense" dazu fallen würden...

guckst Du: Option Explicit, Intellisense und Techniken des Schreibens

Gruß Uwe
heje excelfreunde,

ich dachte mehr in diese richtung, da - excel intellisense - je nach art der referenzierung das programmieren mehr oder weniger unterstützt...
Verwende die Object Browser in VBEditor: F2