Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1916to1920
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

Userform Gruppierung und Auswertung

Userform Gruppierung und Auswertung
09.02.2023 14:15:40
Markus
Hallo zusammen,

ich habe mir eine Userform erstellt, auf der ich mehrere Auswahlbereiche mit Option Buttons erstellt habe. Nachdem ich festgestellt hatte, dass immer nur eine ausgewählt werden kann, wenn die sich in einem Frame befinden, habe ich sie gruppiert. Das kann man in dem Bild sehen. Jetzt habe ich damit aber noch keine Erfahrung und noch nichts passendes gefunden. Ich möchte zum Einen vor der eigentlichen Weiterbearbeitung prüfen, ob der User in allen Reihen eine Eintragung gemacht hat. Dazu habe ich folgenden Code verfasst.

prüfung = False
For Each OB In Me.Controls
i = 1
If OB.Name = "OB" & i & "Geldersparnis" Then
If OB.Value = True Then
prüfung = True
Exit For
End If
End If
i = i + 1
Next OB
If prüfung = False Then
MsgBox ("Sie haben noch keine Bewertung der Geldersparnis vorgenommen.")
Exit Sub
End If

Das funktioniert aber leider nicht. Wenn die 1 angewählt ist, geht er weiter und sobald eine andere Zahl angewählt ist, sagt er, dass der User vergessen hat eine Eingabe zu tätigen. Ist bestimmt wieder nur was kleines verkehrt, aber ich würde mich freuen, wenn es jemadn heraus findet.
Ich würde dann im nächsten Schritt mit fast dem gleichen Code den Wert auslesen. Das wird dann aber wahrscheinlich aktuell auch noch nicht funktionieren.

Ich danke euch schon einmal für eure Hilfe.

Userbild

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform Gruppierung und Auswertung
09.02.2023 14:46:08
Rudi
Hallo,
eher so:
pruefung=False
For i=1 to 10
pruefung=pruefung or me.controls("OB" &i &"Geldersparnis"
Next i
If pruefung = False Then
MsgBox ("Sie haben noch keine Bewertung der Geldersparnis vorgenommen.")
Exit Sub
Gruß
Rudi
AW: Userform Gruppierung und Auswertung
10.02.2023 08:06:58
Markus
Hallo Rudi,
danke für deine Antwort. Kannst du dazu etwas sagen? Was bezweckt zum Beispiel der Ausdruck prüfung = prüfung? Und warum soll das eine ODER Abfrage sein? Die Logik hinter meine Code besteht darin, dass jeder OB einen Namen hat wie in der ersten IF Anweisung abgefragt. Damit sollte sicher gestellt sein, dass in der richtigen Zeile gesucht wird. Und dann muss doch theoretisch nur die Reihe durch gegangen werden oder nicht?
LG Markus
Anzeige
AW: Userform Gruppierung und Auswertung
10.02.2023 09:44:57
Rudi
Hallo,
1. warum alle Controls durchlaufen, wenn nur die OBxxGeldersparnis relevant sind?
2. pruefung=pruefung or me.controls("OB" &i &"Geldersparnis") lässt prüfung TRUE werden, wenn der Button True ist und behält das auch bei. Boolsche Logik. False or False = False, False or True = True. Das umgeht deine If-Abfrage.
Wenn entweder Geld oder Zeitersparnis bewertet werden muss würde ich das so machen:
Sub aaa()
  Dim bolCHECK As Boolean
  Dim i As Integer
  
  For i = 1 To 10
    bolCHECK = bolCHECK Or Me.Controls("OB" & i & "Geldersparnis")
    bolCHECK = bolCHECK Or Me.Controls("OB" & i & "Zeitersparnis")
  Next i
  
  If Not bolCHECK Then
    MsgBox ("Sie haben noch keine Bewertung der Ersparnis vorgenommen.")
    Exit Sub
  End If
  
End Sub
Vermeide Umlaute in Variablen-Bezeichnungen oder Prozedurnamen. Das geht bei anderen Sprachversionen in die Hose.
Gruß
Rudi
Anzeige
AW: Userform Gruppierung und Auswertung
10.02.2023 11:47:42
Markus
Ok danke dir. Das habe ich so auch noch nicht gekannt.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige