Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1036to1040
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
For Schleifen alternativ verknüpfen?
10.01.2009 19:54:06
Dave
Hallo,
ich bin's nochmal.
Ich tüftel gerade an 60 OptionButtons (Steuerelemente-Toolbox) herum, dabei habe ich jeweils fünf OB's gruppiert, so dass immer nur einer der fünf OB auf True setzbar ist. Ich versuche eine Hinweismessage auszugeben, sobald mindestens einer der 12 "Optionsgruppen" nicht angeclickt ist.
Bis jetzt habe ich mir folgendes überlegt:

Private Sub CommandButton1_Click()
With Worksheets("Tabelle1")
Dim i As Integer
For i = 1 To 60 Step 5
If .OLEObjects("OptionButton" & i).Object.Value = False Then
Hinweis.Show
Else
Worksheets("Tabelle2").Select
End If
Next i
End With
End Sub


Jetzt habe ich aber das Problem, dass ich im Zweiflsfall bis zu 12 mal die Box wegclicken muss, wenn ich gar keine Opionsgruppe anclicke!
Man müsste irgendwie die for-schleifen zu Alternativen zusammensetzen können, etwa:
For i=1 To 5 Step 5 Or i=6 To 10 Step 5..... oder
For i=1 To 5 Or i=6 To 10 .....Step 5
irgendwie funktioniert das alles nicht? Kann mir evtl. jemand helfen?
Nochmals vielen Dank!
Dave

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: For Schleifen alternativ verknüpfen?
10.01.2009 20:03:34
Uduuh
Hallo,
dann brich die Prüfung nach der ersten Meldung doch ab.
Hinweis.Show
Exit Sub
Gruß aus’m Pott
Udo

AW: For Schleifen alternativ verknüpfen?
10.01.2009 20:47:49
Dave
Hi Udo, danke für den Tipp!
Jetzt erscheint die Hinweisbox nur noch einmal!
Ich habe aber immer noch etwas nicht beachtet. Und zwar, wenn ich jetzt eine Auswahl für alle 12 Optionsgruppen treffe, dürfte die Hinweisbox nicht mehr erscheinen, das tut sie aber trotzdem. Ich glaube, dass die For schleife jetzt moniert, dass in jeder Zeile noch 4 OB auf False stehen! Irgendwie muss ich der Schleife klar machen, dass mindestens einer der 5 OB pro Gruppe auf True stehen muss und nicht alle fünf False sein dürfen?!

Private Sub CommandButton1_Click()
With Worksheets("Tabelle1")
Dim i As Integer
For i = 1 To 60 Step 5
If .OLEObjects("OptionButton" & i).Object.Value = False Then
Hinweis.Show
Exit Sub
Else
.Select
End If
Next i
End With
End Sub


Viele Grüße und vielen herzlichen Dank!
Dave

Anzeige
AW: Vorschlag
10.01.2009 20:12:00
Erich
Hallo Dave,
probier mal

Option Explicit
Private Sub CommandButton1_Click()
Dim ii As Integer, jj As Integer
With Worksheets("Tabelle1")
For ii = 1 To 56 Step 5
For jj = 0 To 4
If .OLEObjects("OptionButton" & ii + jj).Object.Value = True Then Exit For
Next jj
If jj > 4 Then ' jj-Schleife wurde nicht abgebrochen, kein OP der Gruppe an
Hinweis.Show
Exit Sub
End If
Next ii
End With
Worksheets("Tabelle2").Select
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

AW: Vorschlag III
10.01.2009 20:33:00
Gerd
Hallo Dave!

Private Sub CommandButton1_Click()
Dim i As Integer, z As Integer
With Worksheets("Tabelle1")
For i = 1 To 60
If .OLEObjects("OptionButton" & i).Object.Value = True Then z = z + 1
Next i
End With
If z 


Gruß Gerd

Anzeige
AW: Vorschlag III
10.01.2009 22:11:00
Dave
Hallo Erich und hallo Gerd,
beide Versionen funktionieren vorzüglich! Ich bin Euch sehr sehr dankbar!
Viele Grüße nach Kamp-Lintfort und nach XXX !
Dave

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige