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