Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1128to1132
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
Inhaltsverzeichnis

VBA - Klasse von OptionButton auf Arbeitsblatt? | Herbers Excel-Forum

VBA - Klasse von OptionButton auf Arbeitsblatt?
14.01.2010 11:58:19
Andreas

Hallo Excelgemeinde,
ich habe das Problem, dass es mir nicht gelingen will, in einer Schleife mehrere OptionButtons eines Arbeitsblattes zu adressieren.
Von der Sache her gehören Sie zur Klasse Tabelle, aber ansprechen kann ich sie nur einzeln. Die Namen der Buttons enden alle mit einer fortlaufenden Nummer.
Kann mir jemand einen Tipp geben?
Gruß Andreas

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Klasse von OptionButton auf Arbeitsblatt?
14.01.2010 12:02:44
Rudi Maintaire
Hallo,
etwa so:
for i=1 to 5
Msgbox sheets(1).Controls("Optionbutton" &i).Value
next
Gruß
Rudi
AW: VBA - Klasse von OptionButton auf Arbeitsblatt?
14.01.2010 12:06:35
Hajo_Zi
Hallo Rudi,
gibt es controls in der Tabelle?

AW: VBA - Klasse von OptionButton auf Arbeitsblatt?
14.01.2010 12:08:53
Andreas

gibt es controls in der Tabelle?
gute Frage
hast Recht owT
14.01.2010 13:03:33
Rudi Maintaire
AW: VBA - Klasse von OptionButton auf Arbeitsblatt?
14.01.2010 12:07:48
Andreas
Danke, aber eben das funktioniert nicht! ("...unterstützt Eigenschaft/Methode nicht!")
Gruß Andreas
AW: VBA - Klasse von OptionButton auf Arbeitsblatt?
14.01.2010 12:27:41
Anton
Hallo Andreas,
so vllt:
Code:
Sub b()
 'OptionButtons aus der Steuerelement-Toolbox
  Dim olob As OLEObject  
  For Each olob In Tabelle1.OLEObjects     'Tabelle1 anpassen
    If InStr(1, olob.Name, "OptionButton") <> 0 Then  
      Debug.Print olob.Name & vbTab & olob.Object.Value  
    End If  
  Next
End Sub  


mfg Anton
Anzeige
AW: VBA - Klasse von OptionButton auf Arbeitsblatt?
14.01.2010 12:54:18
Andreas

Sub b()
'OptionButtons aus der Steuerelement-Toolbox
Dim olob As OLEObject
For Each olob In Tabelle1.OLEObjects     'Tabelle1 anpassen
If InStr(1, olob.Name, "OptionButton") <> 0 Then
Debug.Print olob.Name & vbTab & olob.Object.Value
End If
Next
End Sub

Ja, funktioniert, aber warum geht das nicht:
Tabelle1.OLEObjects("OptionButton" & i)
in einer Schleife mit dem Zähler i ?
Gruß Andreas
bei mir geht es
14.01.2010 13:18:56
Anton
Hallo Andreas,
Code:
Sub n()
  For i = 1 To 2  
    Debug.Print Tabelle1.OLEObjects("OptionButton" & i).Object.Value  
  Next
End Sub  


mfg Anton
Anzeige
AW: bei mir geht es
14.01.2010 13:41:42
Andreas
...hm, dan liegt es wahrscheinlich an meiner Art der Referenzierung.
Ich möchte ein Feld füllen, welches mit einer eigenen Klasse deklariert wird. In der Klasse vereinbare ich dann (zusätzliche) Methoden und Ereignisse für die Optionsknöpfe.
Was habe ich:
1. eine Klasse ClsFarbOption mit einem Objekt "Item"
Public WithEvents Item As OLEObject /vorher stand hier MSForms.OptionButton
Private Sub Item_Click()
Set Planer.AktOpBu = Item
End Sub
2. ein Modul Planer
Public Farboptionen(1 To 13) As ClsFarbOption
Public AktOpBu As Object
Public Sub FarbOptionenInstanzieren()
Dim b As Byte
For b = 1 To 13
Set Farboptionen(b) = New ClsFarbOption
Set Farboptionen(b).Item = Tabelle1.OLEObjects("OpBu_Wahl_" & b)
Next b
End Sub
3. Code der Arbeitsmappe
Private Sub Workbook_Open()
Dim b As Byte
Set Planer.BlattPlaner = ThisWorkbook.Worksheets("Resourcen Termine")
Planer.FarbOptionenInstanzieren
End Sub
Bei FarboptionenInstanzieren 'knallt' es.
Kannst du was damit anfangen?
Gruß Andreas
Anzeige
leider nicht
14.01.2010 13:49:02
Anton
Hallo Andreas,
mit Klassenprogrammierung kenne ich mich nicht aus.
mfg Anton
AW: leider nicht
14.01.2010 13:56:24
Hajo_Zi
Hallo Andreas,
woher hast Du die Erkemmtnis das Klasse in Tabelle geht?
Für UserForm kenne ich LÖsungen, aber in Tabellen habe ich das noch nicht gesehen.
Gruß Hajo
AW: leider nicht
14.01.2010 14:17:42
Andreas

woher hast Du die Erkemmtnis das Klasse in Tabelle geht?
Für UserForm kenne ich LÖsungen, aber in Tabellen habe ich das noch nicht gesehen.
Meinem Verständnis nach sind Tabellen doch auch nur Klassen und gehören zur Klasse Workbook - siehe Objektkatalog. Also ist halt die Frage, welche Klasse enthält die Optionsknöpfe und wie kann ich sie ansprechen...dacht ich so
Gruß Andreas
Anzeige
AW: leider nicht
14.01.2010 14:49:56
Andreas
...in der Form, wie ich es dachte, geht es wirklich nicht.
Gruß Andreas
AW: bei mir geht es
14.01.2010 22:12:06
Nepumuk
Hallo,
die Schnittstelle zum OLEObject-Objekt bietet nur GotFocus und LostFocus als Event an. Wenn du ein Click-Event benötigst musst du schon die OptionButton-Klasse benutzen.
So geht's natürlich nicht: Set Farboptionen(b).Item = Tabelle1.OLEObjects("OpBu_Wahl_" & b)
Da musst du schon die Object-Eigenschaft des OLEObject benutzen, die gibt das Automatisierungsobjekt zurück:
Set Farboptionen(b).Item = Tabelle1.OLEObjects("OpBu_Wahl_" & b).Object
Warum um alles in der Welt liest kein Schwein die Hilfe? Da steht alles drin.
Gruß
Nepumuk
Anzeige

261 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige