Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Ja Nein Abfrage als Optionsfeld im Userform

Ja Nein Abfrage als Optionsfeld im Userform
14.03.2017 14:55:24
Micha
Hallo Exceler,
ich habe ein Problem mit meiner Userform.
Um einen Zeileneintrag zu ändern wird bei einem Doppelklick auf eine Zelle sämtliche Inhalte einer Zeile ausgelesen und in der Userform anzeigen.
Nur leider bekomme ich die Abfrage aus der Spalte 5 nicht hin.Dies sollte dann entweder als Optionbutton 3 oder 4 angezeigt werden.
Nach der Änderung wieder in die jeweilige Zeile geschrieben werden. Was bis auf das Optionsfeld perfekt funktioniert.:(
habt ihr vielleicht eine Idee?
hier mein bisheriger Code:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 Then
iRow = Target.Row
With UserForm2
.TextBox5 = Cells(iRow, 2)
.TextBox6 = Cells(iRow, 3)
.TextBox7 = Cells(iRow, 4)
'? .Optionsbutton 3 ist Ja
'? .Optionsbutton 4 ist Nein
.TextBox8 = Cells(iRow, 6)
.Show
End With
End If
ActiveCell.Offset(0, 1).Select
End Sub

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ja Nein Abfrage als Optionsfeld im Userform
14.03.2017 15:10:15
EtoPHG
Hallo Micha,
In der Problemformulierung scheinst du kein Profi zu sein.
Muss man aus deiner Abfrage ableiten, dass in Cells(iRow,5) entweder der Text "Ja" oder "Nein" steht? Und das genau 2 Optionbuttons(3+4) in der gleichen Gruppe sind?
Wenn beides mit ja beantwortet werden kann, müsste anstelle der auskommentierten Codezeile, dies einzige genügen:
.OptionButton3 = (Cells(iRow,5).Text = "Ja")

Gruess Hansueli
Anzeige
AW: Ja Nein Abfrage als Optionsfeld im Userform
15.03.2017 09:54:22
Micha
Hallo, stimmt bin definitiv kein Profi.
und nein ich musste den optionbutton 4 auch noch benennen. Aber das klappt jetzt.
(hätte ich auch selbst drauf kommen können ;) )
nur habe ich jetzt das Problem, wenn ich die Daten ändere und aus dem Ja ein Nein mache und umgekehrt, steht in der Zelle jetzt nicht ein Nein oder Ja, sondern Wahr oder Falsch.
Private Sub CommandButton3_Click()
Dim iSheets As Integer
Dim shKey As String
shKey = "123"
For iSheets = 1 To 2
Sheets(iSheets).Unprotect shKey
Next iSheets
Cells(iRow, 2) = TextBox5
Cells(iRow, 3) = TextBox6
Cells(iRow, 4) = TextBox7
Cells(iRow, 6) = TextBox8
Cells(iRow, 5) = OptionButton4
Cells(iRow, 5) = OptionButton3
Unload Me
Application.EditDirectlyInCell = False
For iSheets = 1 To 2
Sheets(iSheets).Protect shKey, True, True, True
Next iSheets
End Sub

Private Sub OptionButton3_Click()
Dim iSheets As Integer
Dim shKey As String
shKey = "123"
For iSheets = 1 To 2
Sheets(iSheets).Unprotect shKey
Next iSheets
If OptionButton3.Value = True Then
Dim x As Integer
x = Sheets("Zeichnungen").Range("B65536").End(xlUp).Offset(1, 0).Row
Sheets("Zeichnungen").Cells(x, 5) = "Ja"
End If
For iSheets = 1 To 2
Sheets(iSheets).Protect shKey, True, True, True
Next iSheets
End Sub

Private Sub OptionButton4_Click()
Dim iSheets As Integer 'Zähler Sheets
Dim shKey As String
shKey = "123"
For iSheets = 1 To 2
Sheets(iSheets).Unprotect shKey
Next iSheets
If OptionButton4.Value = True Then
Dim x As Integer
x = Sheets("Zeichnungen").Range("B65536").End(xlUp).Offset(1, 0).Row
Sheets("Zeichnungen").Cells(x, 5) = "Nein"
End If
For iSheets = 1 To 2
Sheets(iSheets).Protect shKey, True, True, True
Next iSheets
End Sub
Dazu vielleicht ein kleinen Tipp?
Greetz Micha
Anzeige
AW: Ja Nein Abfrage als Optionsfeld im Userform
15.03.2017 10:46:01
EtoPHG
Hallo Micha,
Ich bin es leid aus ein paar Codeschnipseln, die Funktionalität, den Tabellenaufbau und oder die beabsichtigten Verarbeitungen abzuleiten. Eine Beispielmappe mit ausführlichen Erklärungen ist da wesentlich hilfreicher.
In der Anfrage, war nirgends von Codezeile, wie
Cells(iRow, 5) = OptionButton4
Cells(iRow, 5) = OptionButton3
die Rede. Dass das nicht funktionieren kann, ist wohl offensichtlich. Eine Zelle kann wohl nicht gleichzeitig 2 Zustände beinhalten, also enthält sie in diesem Fall nur den Zustand des OptionButton3 fest! (siehe auch weiter unten).
Grundsätze zu Optionbutton und Checkbox Controls:
1. Optionbuttons sollten immer dann angewandt werden, wenn genau 1 Zustand von mehr als 2 zugelassen ist. Soll 1 Zustand aus genau 2 möglichen dargestellt werden, sollte anstelle von Optionbuttons eine Checkbox gewählt werden (bitte keine Kommentare von Profis über den TripleState von Controls ;-).
2. Optionbuttons und Checkboxen können grundsätzlich nur den Zustand WAHR oder FALSCH annehmen. Jegliche Übersetzung dieser beiden Zustände sollte für die textliche Darstellung (z.B. "JA"; "NEIN") in einer Zelle, mit einer Formel gelöst werden, welche den Zustand referenziert.
3. In einer Gruppe von Optionbuttons kann nur genau 1 Optionbutton den Zustand WAHR annehmen, alle anderen nehmen beim Setzen automatisch den Zustand FALSCH an.
Gruess Hansueli
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Ja Nein Abfrage als Optionsfeld im Userform


Schritt-für-Schritt-Anleitung

  1. Userform erstellen: Öffne den Visual Basic for Applications (VBA) Editor in Excel. Füge eine Userform hinzu, die TextBoxen für die Daten und zwei OptionButtons für die Ja/Nein-Abfrage enthält.

  2. OptionButtons benennen: Benenne die OptionButtons als OptionButton3 für "Ja" und OptionButton4 für "Nein".

  3. Daten laden: Nutze den folgenden Code, um die Daten in die Userform zu laden, wenn ein Doppelklick auf die Zelle erfolgt:

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
       If Target.Column = 1 Then
           iRow = Target.Row
           With UserForm2
               .TextBox5 = Cells(iRow, 2)
               .TextBox6 = Cells(iRow, 3)
               .TextBox7 = Cells(iRow, 4)
               .OptionButton3 = (Cells(iRow, 5).Text = "Ja")
               .OptionButton4 = (Cells(iRow, 5).Text = "Nein")
               .TextBox8 = Cells(iRow, 6)
               .Show
           End With
       End If
       ActiveCell.Offset(0, 1).Select
    End Sub
  4. Daten speichern: Verwende den folgenden Code, um die Änderungen zu speichern, wenn der Benutzer auf den Button klickt:

    Private Sub CommandButton3_Click()
       Cells(iRow, 2) = TextBox5
       Cells(iRow, 3) = TextBox6
       Cells(iRow, 4) = TextBox7
       If OptionButton3.Value = True Then
           Cells(iRow, 5) = "Ja"
       ElseIf OptionButton4.Value = True Then
           Cells(iRow, 5) = "Nein"
       End If
       Unload Me
    End Sub

Häufige Fehler und Lösungen

  • Fehler bei der Zuweisung: Wenn du versuchst, beide OptionButtons in der gleichen Zeile zuzuweisen, wird nur der zuletzt zugewiesene Wert in die Zelle geschrieben. Stelle sicher, dass nur der aktivierte OptionButton den Wert "Ja" oder "Nein" zuweist.

  • Wahr/Falsch statt Ja/Nein: Wenn in der Zelle "Wahr" oder "Falsch" angezeigt wird, überprüfe, ob du den Zustand der OptionButtons korrekt auswertest. Verwende die oben genannten Anweisungen zur korrekten Zuweisung von "Ja" oder "Nein".


Alternative Methoden

Eine alternative Methode zur Ja/Nein-Abfrage könnte die Verwendung von Checkboxen anstelle von OptionButtons sein, wenn du mehrere Auswahlmöglichkeiten bieten möchtest. In diesem Fall kannst du die Checkboxen entsprechend anpassen und die Werte in die Zelle schreiben.


Praktische Beispiele

  1. Einfaches Ja/Nein-Feld: Wenn du ein einfaches Ja/Nein-Feld benötigst, kannst du die OptionButtons in dein Userform einfügen und die oben genannten Schritte befolgen.

  2. Daten in einer Tabelle auswerten: In einer Excel-Tabelle kannst du die Ja/Nein-Werte auswerten, um bestimmte Berechnungen oder Filter anzuwenden.


Tipps für Profis

  • Nutze die OptionButton-Steuerelemente, um nur einen Wert aus einer Gruppe auszuwählen. Dies ist besonders nützlich, wenn du eine klare Ja/Nein-Abfrage in deinem Userform benötigst.

  • Vermeide es, die OptionButtons direkt in einer Zelle zu speichern. Stattdessen solltest du die Werte in einer separaten Logik verarbeiten und die Ausgabe in einer Zelle darstellen.


FAQ: Häufige Fragen

1. Wie kann ich die OptionButtons gruppieren?
Du kannst die OptionButtons in ein Frame-Steuerelement einfügen, um sicherzustellen, dass nur einer von ihnen ausgewählt werden kann.

2. Was mache ich, wenn die Userform nicht angezeigt wird?
Überprüfe, ob du die Userform richtig aufrufst und ob der Doppelklick auf die richtige Zelle erfolgt.

3. Kann ich die Ja/Nein-Abfrage auch ohne VBA umsetzen?
Ja, du kannst auch Datenüberprüfung in Excel verwenden, um eine Dropdown-Liste mit "Ja" und "Nein" zu erstellen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige