Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Checkbox per VBA anlegen - LZF -2147417848

72 views
Skip to first unread message

Kerstin Schiebel

unread,
May 14, 2008, 4:22:38 AM5/14/08
to
Guten Morgen,

ich versuche per VBA in jede Zeile eines Balttes eine Checkbox zu
positionieren.
Mein Makro sieht so aus:

intZeile1 = 2
'Tabellenblatt?
Set objWS = ActiveWorkbook.Worksheets("Tabelle1")
'Anzahl der Zeilen herausfinden
intZeileG = objWS.Cells(Rows.Count, 1).End(xlUp).Row 'Zeilenanzahl in
der Tabelle
For intI = intZeile1 To intZeileG
PosLeft = Cells(intI, 4).Left
PosTop = Cells(intI, 4).Top

objWS.OLEObjects.Add Classtype:="Forms.Checkbox.1", Top:=PosTop,
Left:=PosLeft
Cells(intI, 1).Interior.ColorIndex = 3
Next intI

Beim .Add-Befehl erhalte ich u.g. Fehlermeldung und danach kann ich mein
Excel nur noch
über den Taskmanager schließen - nix geht mehr :-(
--
Laufzeitfehler "-2147417848 (80010108)":

Automatisierungsfehler
Das aufgerufene Objekt wurde von den Clients getrennt
--
Zur Fehlermeldung finde ich im Web lediglich einen Hinweis auf Drucken oder
Seiteneinrichtung. Das trifft aber jetzt nicht wirklich zu.
Hat jemand eine Idee, was die Ursache sein könnte?
Vielen Dank und Gruß
Kerstin


Kerstin Schiebel

unread,
May 14, 2008, 4:27:33 AM5/14/08
to
Übrigens, ich verwende Excel 2002, SP3
Kerstin

"Kerstin Schiebel" <k.sch...@gsi.de> schrieb im Newsbeitrag
news:%23Z%23otuZt...@TK2MSFTNGP05.phx.gbl...

Kerstin Schiebel

unread,
May 14, 2008, 5:09:09 AM5/14/08
to
Okay, das Problem scheinen die Positionsparameter zu sein.
Mal sehen, wie ich das hinbekommen, dass die Boxen ordentlich in einer
Zelle positioniert werden können.

Gruß
Kerstin

"Kerstin Schiebel" <k.sch...@gsi.de> schrieb im Newsbeitrag
news:%23Z%23otuZt...@TK2MSFTNGP05.phx.gbl...

...


> PosLeft = Cells(intI, 4).Left
> PosTop = Cells(intI, 4).Top
>
> objWS.OLEObjects.Add Classtype:="Forms.Checkbox.1", Top:=PosTop,
> Left:=PosLeft

...


Kerstin Schiebel

unread,
May 14, 2008, 5:18:04 AM5/14/08
to
Okay, ich habs nun gefunden :-)

Gruß
Kerstin


Michael Mueller

unread,
May 14, 2008, 5:22:49 AM5/14/08
to
> Okay, ich habs nun gefunden :-)

Und was war es denn?

Michi


Martin Worm

unread,
May 14, 2008, 7:02:47 AM5/14/08
to
Am Wed, 14 May 2008 11:09:09 +0200,schrieb Kerstin Schiebel:

hallo Kerstin,

>"Kerstin Schiebel" <k.sch...@gsi.de> schrieb im Newsbeitrag
>news:%23Z%23otuZt...@TK2MSFTNGP05.phx.gbl...
>...
>> PosLeft = Cells(intI, 4).Left
>> PosTop = Cells(intI, 4).Top
>>
>> objWS.OLEObjects.Add Classtype:="Forms.Checkbox.1", Top:=PosTop,
>> Left:=PosLeft

vielleicht hilft auch, vor jedes Cells() das Blatt objWS zu stellen.
(objWS.cells())

hth
mit freundlichen Grüßen

Martin Worm
--
benutze XL 2000 und Win XP SpX

Kerstin Schiebel

unread,
May 14, 2008, 7:42:13 AM5/14/08
to
Hallo,

Set objCheckBox =
objWS.OLEObjects.Add(ClassType:="Forms.Checkbox.1")
With objCheckBox
.Top = PosTop
.Left = PosLeft + 2
.LinkedCell = "C$" & intI
.Width = 11.25
.Height = 11.25
End With

Die Positionen sind wohl Eigenschaften des Objektes und keine Parameter für
die Add-Methode.
Ich hatte das zwar als Beispiel so im Web gefunden, hat aber nicht
funktioniert.

Gruß
Kerstin

"Michael Mueller" <michael....@de.bosch.com> schrieb im Newsbeitrag
news:g0eb19$6sn$1...@news4.fe.internet.bosch.com...

0 new messages