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

Abfrage OptionBotton

Abfrage OptionBotton
31.10.2008 14:35:00
Zero
Hallo zusammen,
kann mir jemand bei folgendem Problem helfen?
Ich habe in einem ganz normalen Excel-Arbeitsblatt "Fragebogen" eine Reihe von OptionBottons, deren Wert (1 oder 0) über ein Makro abgefragt werden soll und in einem Variablenfeld gespeichert werden soll. Die Namen der OptionButtons unterscheiden sich nur durch die Zahl im Namen, die fortlaufend hochgezählt wird. Gibt es eine Möglichkeit z.B. innerhalb einer For-Schleife in der Abfrage die Namen der OptionButtons variabel zu formulieren, so dass nicht jeder einzelne Button mit separaten Codezeilen abgefragt werden muss?
Ideal wäre so was ähnliches wie der folgende Code, der aber nicht funktioniert (Laufzeitfehler, Objekt erforderlich).
Sheets("Fragebogen").Select
For i = 1 To 5
Name = "OptionButton11" & i
Select Case ActiveSheet.Name.Value
Case True
Wichtigkeit(i) = 1
Case False
Wichtigkeit(i) = 0
End Select
Next i
Vielen Dank für die Hilfe.
Zero

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Abfrage OptionBotton
31.10.2008 14:54:27
Rudi
Hallo,
viel einfacher ist, die LinkedCell-Eigenschaft der OBs zu setzen und dann die Zellen abzufragen.
Gruß
Rudi
AW: Abfrage OptionBotton
31.10.2008 15:17:00
Chris
Servus,
hier mal ein Makro:

Sub OptionButton()
Dim DatenArray() As Variant
Dim i As Long, z As Long
For i = 1 To OLEObjects.Count
If OLEObjects(i).Name Like "OptionButton*" Then
z = z + 1
End If
Next i
ReDim DatenArray(1 To z, 1 To 2)
For i = 1 To z
DatenArray(i, 1) = i
Select Case OLEObjects("OptionButton" & i).Object.Value
Case Is = True
DatenArray(i, 2) = 1
Case Is = False
DatenArray(i, 2) = 0
End Select
Next i
For i = 1 To z
MsgBox DatenArray(i, 2)
Next i
End Sub


Gruß
Chris

Anzeige
AW: verbesserte Version
31.10.2008 15:40:00
Chris
Servus,
das ist besser:

Sub OptionButton()
Dim i As Long, z As Long, j As Long, k As Long
Dim DatenArray() As Variant
k = OLEObjects.Count
ReDim DatenArray(1 To k, 1 To 2)
j = 1
For i = 1 To OLEObjects.Count
If OLEObjects(i).Name Like "OptionButton*" Then
DatenArray(j, 1) = Right(OLEObjects(i).Name, Len(OLEObjects(i).Name) - 12)
Select Case OLEObjects("OptionButton" & DatenArray(j, 1)).Object.Value
Case Is = True
DatenArray(j, 2) = 1
Case Is = False
DatenArray(j, 2) = 0
End Select
j = j + 1
End If
Next i
For i = 1 To j - 1
MsgBox DatenArray(i, 2)
Next i
End Sub


Beim ersten makro müssen die OB in reihenfolge sein, sonst gibt es Fehler, hier ist das wurscht.
Gruß
Chris

Anzeige
AW: verbesserte Version
31.10.2008 15:53:47
Zero
Hallo Chris,
vielen Dank für Deine beiden Beispiele. Das sieht sehr gut aus. Nur leider bekomme ich bei beiden Varianten einen Laufzeitfehler mit der Meldung "Objekt erforderlich" bei Ausführung der Zeile
k = OLEObjects.Count bzw.
For i = 1 To OLEObjects.Count.
Irgendwie scheinen bei mir die OptionButtons nicht als OLEObject erkannt zu werden. Hast Du ne Idee woran das liegen kann, bzw. wie ich Abhilfe schaffen kann?
Schon mal vielen Dank
Zero
AW: Optionsfeld aus Formular ?
31.10.2008 16:08:00
Chris
Servus,
sind das OF aus Formular oder Toolbox ?
Gruß
Chris
AW: Optionsfeld aus Formular ?
31.10.2008 16:22:00
Zero
Hallo Chris,
ich habe die Dinger aus der Toolbox in einem Tabellenblatt platziert.
Grüße
Zero
Anzeige
AW: Optionsfeld aus Formular ?
31.10.2008 16:33:00
Chris
Servus,
Laufzeitfehler '424'.
Du hast das Makro in einem allgemeinen Modul stehen.
Dann musst du entweder:
Sheets("Dein Sheetname").OleObjects... schreiben, also überall ein Sheets... davor, oder du setzt es in eine With Anweisung.
With Sheets...
.Oleobjects ' hier ist der Punkt vor überall Oleobjects wichtig
End with
oder du stellst das Makro in das entsprechende Tabellenmodul.
Gruß
Chris
AW: Optionsfeld aus Formular ?
31.10.2008 16:43:44
Zero
Hey Chris,
hervorragend, so scheint es zu funktionieren.
Herzlichen Dank und schönes Wochenende
Zero

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige