Zuordnung von Objektvariablen

17/03/2013 - 22:17 von Hans Alborg | Report spam
Hallo,

<Excel 2007>

-ich steck mal wieder fest. Habe eine Userform mit 5 Checkboxen erstellt.
Davon kann ich eine oder zwei anklicken. Die restlichen verriegeln sich dann
(.Locked).
Dazu habe ich 2 Objectvariablen (myCb1, myCb2) (Public) definiert, welche
den aktiven (.True) Checkboxen zugeordnet werden sollen.

Soweit so gut.

Jetzt wàhle ich eine der Checkboxen wieder "ab" (oder beide...) und dann
halt wieder dieselben oder andere "an".
Dabei muß ich mit den Objectvariablen wie folgt verfahren:

1 myCb1 = Nothing
2 myCb1 = myCb2
3 myCb1.Caption = "XYZ"
4 Set myCb1 = Checkbox1
5 myCb2.Wordwrap = False

Die Variable myCb1 soll das übernehmen, was der myCb2 zugeordnet war (oder
sie selbst bleiben, je nach "ab"-gewàhlter Checkbox) und myCb2 soll frei für
die nàchste Verwendung werden. Die myCb1 soll also immer als Letzte belegt
bleiben.

Daher versuche ich erstmal in Zeile 1 und 2 die neue Zuordnung zu erreichen.
Ich kann auch sehen, wie sich die Caption in der richtigen Checkbox àndert
(Zeile3). Also sollte das geklappt haben.
Weil spàter aber eine Fehlermeldung "Objekt erforderlich" kommt habe ich in
Zeile 4 der Variablen myCb1 probeweise direkt eine Checkbox zugewiesen.
Trotzdem kommt besagte Fehlermeldung (die Subroutine "Private Sub
F_Cb_Sp1_Click()" wurde beendet und beim nàchsten Klick kommt der Fehler bei
myCb1).

Zeile 5 dient mir übrigens nur zur Markierung ob die Variable belegt oder
frei ist. Làßt sich für mich Anfànger leicht abfragen.

Also: wie tauscht man denn Objektvariablen richtig untereinander?

TIA,

Hans
 

Lesen sie die antworten

#1 Claus Busch
18/03/2013 - 10:49 | Warnen spam
Hallo Hans,

Am Sun, 17 Mar 2013 22:17:11 +0100 schrieb Hans Alborg:

Jetzt wàhle ich eine der Checkboxen wieder "ab" (oder beide...) und dann
halt wieder dieselben oder andere "an".
Dabei muß ich mit den Objectvariablen wie folgt verfahren:



was verstehst du unter abwàhlen? Den Wert von TRUE auf FALSE àndern?
Dann ginge es so z.B. wenn eine der beiden immer TRUE sein sollte:
CheckBox2.Value = IIf(CheckBox1.Value = True, False, True)


Mit freundlichen Grüßen
Claus Busch
Win XP Prof SP3 / Vista Ultimate SP2
Office 2003 SP3 /2007 Ultimate SP3

Ähnliche fragen