Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
936to940
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
936to940
936to940
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

auf dynamische Buttons zugreifen

auf dynamische Buttons zugreifen
05.01.2008 23:24:18
Silvio
Tagchen liebe Excel - Gemeinde...
Ich habe mal wieder ein Problem. Ich lasse mir 5 ToggleButtons zur Laufzeit erstellen (nicht auf einer Userform, sondern in der Tabelle1). Mein Problem ist nun, wie kann ich zur Laufzeit diese Buttons ansprechen? Geht das auch einfacher, ohne Zusatzmodul usw?
Hier ist mein Quellcode, der die 5 Buttons erstellt.

Private Sub CommandButton1_Click()
Dim objOLEObject As OLEObject
For i = 1 To 5
Set objOLEObject = ActiveSheet.OLEObjects.Add(ClassType:="Forms.toggleButton.1", _
Left:=a + 100, Top:=100, Width:=22, Height:=20)
objOLEObject.Object.Caption = "F" & i
a = a + 25
Next i
End Sub


Vielen Dank schon mal im vorraus.

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: auf dynamische Buttons zugreifen
05.01.2008 23:34:00
{Boris}
Hi Silvio,
sprich sie mit ActiveSheet.OleObjects(i) an, wobei i der Index ist.
Grüße Boris

AW: auf dynamische Buttons zugreifen
05.01.2008 23:55:13
Silvio
Danke für die schnelle antwort, aber das funktioniert nicht... wenn ich z.b. die .Caption ändern will, dann heisst es "Methode, oder Datenobjekt nicht gefunden."
Irgendwie steh ich, glaub ich, vollkommen auf dem Schlauch. ;-)

AW: auf dynamische Buttons zugreifen
05.01.2008 23:55:00
Silvio
Danke für die schnelle antwort, aber das funktioniert nicht... wenn ich z.b. die .Caption ändern will, dann heisst es "Methode, oder Datenobjekt nicht gefunden."
Irgendwie steh ich, glaub ich, vollkommen auf dem Schlauch. ;-)

Anzeige
AW: auf dynamische Buttons zugreifen
06.01.2008 00:01:17
{Boris}
Hi Silvio,
ActiveSheet.OLEObjects(2).Object.Caption = "Bla"
Alternativ kannst Du die Buttons auch zur Laufzeit benennen und sie dann mit Namen ansprechen:
Füge vor "a = a + 25" die Zeile ein:
objOLEObject.Name = "Silvio" & i
Dann sprichst Du an mit
ActiveSheet.OLEObjects("Silvio2").Object.Caption = "Bla"
Grüße Boris

AW: auf dynamische Buttons zugreifen
06.01.2008 00:20:00
Gerd
Hallo Silvio!

Sub test()
With ActiveSheet.OLEObjects("ToggleButton" & 5)
MsgBox .Object.Caption
End With
End Sub


Gruß Gerd

AW: auf dynamische Buttons zugreifen
06.01.2008 00:31:00
Silvio
Ohh... Yeahhh..... vielen Dank es funktioniert. Danke euch beiden!!!!

Anzeige
AW: auf dynamische Buttons zugreifen
06.01.2008 01:00:39
Silvio
Ohh... Yeahhh..... vielen Dank es funktioniert. Danke euch beiden!!!!

AW: auf dynamische Buttons zugreifen
06.01.2008 01:57:00
Daniel
HI
innerhalb des Makros kannst du dir auch damit behelfen, daß du eine NEW COLLECTION erstellst.
das ist eine Sammlung von Objekten.
die dort gesammelten Objekte kannst du dann Einzeln über die Index-Nr. oder gesamt mit der For-Each-Schleife ansprechen.
Beispiel:

Private Sub CommandButton1_Click()
Dim objOLEObject As OLEObject
Dim i As Integer
Dim a As Integer
Dim tg
Dim meineToggles As New Collection
For i = 1 To 5
Set objOLEObject = ActiveSheet.OLEObjects.Add(ClassType:="Forms.toggleButton.1", _
Left:=a + 100, Top:=100, Width:=22, Height:=20)
objOLEObject.Object.Caption = "F" & i
meineToggles.Add objOLEObject
a = a + 25
Next i
meineToggles(1).Object.Caption = "A"
meineToggles(2).Top = 120
For Each tg In meineToggles
tg.Height = tg.Height + 10
Next
End Sub


Gruß, Daniel

Anzeige
AW: auf dynamische Buttons zugreifen
08.01.2008 22:09:00
Silvio
Ich muss dass thema noch mal nach oben holen, weil mir noch etwas unklar ist.
Ich kann den Toggles zwar jetzt alles zuweisen, aber ich möchte noch wissen, wie ich auf ein Klick Ereignis reagieren kann? Könnt ihr mir da helfen?
z.b.:

Private Sub meineToggles_Click()
'bla, bla
End Sub


Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige