Microsoft Excel

Herbers Excel/VBA-Archiv

Rangeobjekt zu Variant-Variablen zuordnen

Betrifft: Rangeobjekt zu Variant-Variablen zuordnen von: Franz-Josef Raabe
Geschrieben am: 01.11.2012 22:27:26

Hallo EXCELaner,

bei der Zuordnung von einer Zelle als Range-Objekt zu einer Variant-Variable wird nicht das Objekt zugeordnet, sondern der Zelleninhalt. Beispiel:

dim var as variant, zelle as range
set var = zelle

da scheint zelle.value als voreingestellte Eigenschaft des Range-Objekts angewandt zu werden, var hat dann vartype String und als Wert nur Inhalt der Zelle.

Kann ich diese Automatik abschalten, so dass var vom Typ Objekt nur auf die Zelle verweist, oder wie kann ich sonst dafür sorgen, dass das Objekt und nicht der Inhalt an die Variant-Variable gegeben wird?

MfG
Franz Josef Raabe

  

Betrifft: AW: Rangeobjekt zu Variant-Variablen zuordnen von: Nepumuk
Geschrieben am: 01.11.2012 23:18:20

Hallo Franz Josef,

wie kommst du darauf?

Public Sub Test()
    Dim var As Variant, zelle As Range
    Set zelle = Cells(1, 1)
    Set var = zelle
End Sub




Gruß
Nepumuk


  

Betrifft: AW: Rangeobjekt zu Variant-Variablen zuordnen von: Franz-Josef Raabe
Geschrieben am: 02.11.2012 07:46:24

Danke Nepomuk,

ich kam darauf durch:
msgbox vartype(var)
das lieferte 8 (vbString) und nicht 9 (vbObject),

Jetzt habe ich mal mit isObject(var) getestet, das liefert true.

Wie erhält man denn das Fenster, das du gepostet hast?

MfG
Franz Josef Raabe


  

Betrifft: Ansicht:Lokalfenster + Debugger:Einzelschritt kwT von: Matthias L
Geschrieben am: 02.11.2012 07:54:08




  

Betrifft: AW: Ansicht:Lokalfenster + Debugger:Einzelschritt kwT von: Franz-Josef Raabe
Geschrieben am: 02.11.2012 08:02:46

Danke Mathias, sehr praktisch.
MfG
Franz-Josef Raabe


  

Betrifft: AW: Ansicht:Lokalfenster + Debugger:Einzelschritt kwT von: Nepumuk
Geschrieben am: 02.11.2012 09:54:51

Hallo Franz Josef,

mit der VarType-Funktion prüfst du in diesem Fall die Standardeigenschaft (Default-Property) des Range-Objektes. Das ist die Value-Eigenschaft. Die gibt 8 (String) zurück wenn sich ein Text in der Zelle befindet, 0 (Empty) wenn sie leer ist, 5 (Double) wenn sich eine Zahl darin befindet usw.

Gruß
Nepumuk


 

Beiträge aus den Excel-Beispielen zum Thema "Rangeobjekt zu Variant-Variablen zuordnen"