EXCEL VBA: Globale Objekttypdefinition gesucht

Hallo,

ich verwende in einem VBA-Program in den vielen (teilweise kleinen) SUB-Prozeduren (Abschnitt Workbook, Tabelle und UserForm) meist eine bestimmte Objekttydefinition z.B.:

Dim ICH as Range
Set ICH = ThisWorkbook.Sheets(2).Range(„A1:C3“)

Nun ist meine Überlegung den Ausdruck „ICH“ global zu definieren.
Gedacht - Gemacht …
Geoogelt und alles probiert was mir sonst noch einfiel.
Das was herauskam sind diverse Fehlermeldungen.

Fällt euch dazu etwas ein, wie ich den Ausdruck „ICH“ im Prinzip wie eine globale Variabel nutzen kann?

Gruß
Axel

Hallo Axel,

starte mal tt1.

Option Explicit
Public ICH As Range

Sub tt1()
Set ICH = Worksheets(„Tabelle1“).Range(„A1:A5“)
MsgBox ICH.Address
Call tt2
End Sub

Sub tt2()
Set ICH = Worksheets(„Tabelle2“).Range(„B2:B12“)
MsgBox ICH.Address
Call tt3
End Sub

Sub tt3()
MsgBox ICH.Address
End Sub

Gruß
Reinhard

Hallo Reinhard,

so eine ähnliche Lösung hatte ich auch schon mal, indem ich meinen Wert(e) mit dem Ereigniss „Workbook_Open“ eingestellt habe.
Hab sie allerdings verworfen, da sie für mich einen entscheidenen Nachteil hat.
Man kann in der Entwicklungsphase die einzelnen Sub-Prozeduren nicht so ohne weiteres Testen, da man in die einzelenen SUB vorher diese Definition eintragen muss…

Evtl. hab ich mich im Ursprungsbeitrag auch nicht klar ausgedrückt.
Mein Ziel ist es, diese Definition so zu gestalten, damit sie sie sich etwas wie eine in den Modulen definierte Konstante verhält.

Gruß
Axel