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

Forumthread: Optionsgruppe Werte auslesen und in Zelle eintrage

Optionsgruppe Werte auslesen und in Zelle eintrage
14.07.2017 18:05:18
Peer
Hallo.
Ich sitze hier und versuche folgendes mit VBA zu probieren.
In einem Userform befinden sich 3 Optionsfelder, die ich einer Gruppe zugeordnet habe. Ich nenne die Gruppe Pause.
Die 3 Radios sind opt30min, opt45min und optEingabe.
opt30min soll den Wert 0:30, opt45min den Wert 0:45 und optEingabe vorerst den Wert 0:00 bekommen. Dieser soll später, wenn ausgewählt, ein Textfeld zur benuzterdefinierten Eingabe bekommen.
Nun soll durch Auswahl eines dieser Radios der jeweilige Wert in die Spalte V (22) eingetragen werden bzw beim Öffnen des Userforms ausgelesen werden, um eventuell zu korrigieren.
Ich danke im Voraus für die Hilfe.
LG
Peer
https://www.herber.de/bbs/user/114882.xlsm
Anzeige
AW: Optionsgruppe Werte auslesen und in Zelle eintrage
14.07.2017 20:06:04
Luschi
Hallo Peter,
leider kann man die Datei nicht richtig öffnen, da ein ActiveX-Steuerelement darin existiert, das bei mir (und sicher auch bei den anderen Helfern des Forums) nicht installiert ist.
Userbild
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Optionsgruppe Werte auslesen und in Zelle eintrage
14.07.2017 21:24:37
Luschi
Hallo Peer,
auch jetzt ist die Datei nicht zu öffnen; selbe Fehlermeldung, die man nicht umschiffen kann - es hilft nur der Taskmanager mit Schließung von Excel.
Auf Deinem PC sind Excel-Steuerelemente installiert, von denen sich Micro$oft im Laufe der Zeit wieder verabschiedet hat (z.B. Kalender-Steuerelement).
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Optionsgruppe Werte auslesen und in Zelle eintrage
14.07.2017 22:36:06
Peer
Ich konnte diese Datei an zwei verschiedenen PC mit zwei unterschiedlichen Excel Versionen problemlos öffnen.
Seltsam
AW: Optionsgruppe Werte auslesen und in Zelle eintrage
15.07.2017 15:25:23
Peer
Hat keiner eine Ahnung?
Hat der Download geklappt?
Anzeige
AW: Optionsgruppe Werte auslesen und in Zelle eintrage
16.07.2017 07:31:48
Werner
Hallo Peer,
ich kann im Moment hier weder etwas herunter, noch hoch laden. Kann dir deshalb auch nicht sagen, ob sich deine eingestellte Datei bei mir öffnen lässt.
Trotzdem hab ich mal was geschrieben.
Ausgangslage:
Eine Userform, auf der Userform einen Frame, in diesem Frame drei OptionButton (1-3). Für die OptionButton bitte im Eigenschaftenfenster als Caption 00:30 (Button1), 00:45 (Button2) und 00:00 (Button3) eintragen.
Folgenden Code ins Codemodul der Userform:
Private Sub OptionButton1_Click()
Range("V22") = OptionButton1.Caption
End Sub
Private Sub OptionButton2_Click()
Range("V22") = OptionButton2.Caption
End Sub
Private Sub OptionButton3_Click()
Range("V22") = OptionButton3.Caption
End Sub
Private Sub UserForm_Initialize()
If Range("V22")  "" Then
Select Case Range("A1").Text
Case "00:30": OptionButton1 = True
Case "00:45": OptionButton2 = True
Case Else: OptionButton3 = True
End Select
Else
OptionButton1 = False
OptionButton2 = False
OptionButton3 = False
End If
End Sub
Gruß Werner
Anzeige
AW: Optionsgruppe Werte auslesen und in Zelle eintrage
16.07.2017 07:34:09
Werner
Hallo,
sorry, hab erst nach dem Absenden festgestellt, dass ich vom Testen noch einen Fehler drin hatte
Das hier:
Select Case Range("A1").Text
muss natürlich so lauten:
Select Case Range("V22").Text
Gruß Werner
AW: Optionsgruppe Werte auslesen und in Zelle eintrage
16.07.2017 11:06:54
Peer
Hallo Werner.
Ich möchte dir für deine Mühe danken.
Ich werde deine Lösung sicherlich zum Anhaltspunkt nehmen.
LG
Peer
Anzeige
AW: Optionsgruppe Werte auslesen und in Zelle eintrage
16.07.2017 12:22:16
Peer
Hallo Werner
Ich muss nochmal nachfragen.
V22 bedeutet ja die einzelne Zelle.
Wenn ich die Prozedur für die jeweiligen Zellen in Spalte V benötige, muss ich so was wie Range ("V") schreiben?
Funktioniert aber nicht.
Gruß
Peer
AW: Optionsgruppe Werte auslesen und in Zelle eintrage
16.07.2017 17:51:33
Peer
Ich glaube ich habe die Lösung gefunden.
Statt V22 habe ich die Zeile durch
ActiveSheet.Cells(Zeile, 22)
ersetzt.
Jetzt wollte ich noch statt 'Caption'
Private Sub opt45min_Click()
ActiveSheet.Cells(Zeile, 22) = opt45min.Caption
End Sub
den jeweiligen Wert in die Zelle schreiben.
In etwa so..
Private Sub opt45min_Click()
ActiveSheet.Cells(Zeile, 22) = opt45min.Value = "0:45"
End Sub
Klappt aber nicht, denn er schreibt nur "WAHR" hinein.
Habe ich etwas vergessen?
LG
Peer
Anzeige
AW: Optionsgruppe Werte auslesen und in Zelle eintrage
16.07.2017 19:53:08
Werner
Hallo Peer,
Private Sub opt45min_Click()
ActiveSheet.Cells(Zeile, 22) = "0:45"
End Sub
Gruß Werner
AW: Optionsgruppe Werte auslesen und in Zelle eintrage
16.07.2017 21:20:18
Peer
Vielen Dank, Werner.
Einen schönen Abdend.
LG
Peer
Gerne und Danke für die Rückmeldung. o.w.T.
16.07.2017 22:15:18
Werner
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Werte aus Optionsgruppen in Excel auslesen und eintragen


Schritt-für-Schritt-Anleitung

  1. Userform erstellen: Öffne den VBA-Editor in Excel (Alt + F11) und füge eine neue Userform hinzu.
  2. Optionsfelder hinzufügen: Füge drei Optionsfelder (OptionButton) hinzu und benenne sie:
    • opt30min für 00:30
    • opt45min für 00:45
    • optEingabe für 00:00 (dieses wird später für die benutzerdefinierte Eingabe verwendet).
  3. Eigenschaften konfigurieren: Setze die Caption für jedes Optionsfeld auf den entsprechenden Wert.
  4. Code einfügen: Füge den folgenden VBA-Code in das Codemodul der Userform ein:
Private Sub OptionButton1_Click()
    Range("V22") = OptionButton1.Caption
End Sub

Private Sub OptionButton2_Click()
    Range("V22") = OptionButton2.Caption
End Sub

Private Sub OptionButton3_Click()
    Range("V22") = OptionButton3.Caption
End Sub

Private Sub UserForm_Initialize()
    If Range("V22") <> "" Then
        Select Case Range("V22").Text
            Case "00:30": OptionButton1.Value = True
            Case "00:45": OptionButton2.Value = True
            Case Else: OptionButton3.Value = True
        End Select
    Else
        OptionButton1.Value = False
        OptionButton2.Value = False
        OptionButton3.Value = False
    End If
End Sub
  1. Anpassungen vornehmen: Stelle sicher, dass der Bereich Range("V22") korrekt ist. Du kannst ihn durch ActiveSheet.Cells(Zeile, 22) ersetzen, um die Zeile dynamisch festzulegen.

Häufige Fehler und Lösungen

  • Fehler beim Öffnen der Datei: Wenn du beim Öffnen der Datei auf ActiveX-Steuerelemente stößt, stelle sicher, dass die benötigten Steuerelemente installiert sind.
  • Wert wird als "WAHR" geschrieben: Stelle sicher, dass du ActiveSheet.Cells(Zeile, 22) = "0:45" verwendest, anstatt ActiveSheet.Cells(Zeile, 22) = opt45min.Value.

Alternative Methoden

Wenn du keine Userform verwenden möchtest, kannst du auch die Datenübertragung direkt in ein Arbeitsblatt einfügen. Verwende dafür:

Sub SetzeWert()
    If ActiveSheet.OptionButton1.Value Then
        ActiveSheet.Cells(22, 22) = "00:30"
    ElseIf ActiveSheet.OptionButton2.Value Then
        ActiveSheet.Cells(22, 22) = "00:45"
    ElseIf ActiveSheet.OptionButton3.Value Then
        ActiveSheet.Cells(22, 22) = "00:00"
    End If
End Sub

Praktische Beispiele

  • OptionButton für benutzerdefinierte Eingabe: Wenn optEingabe ausgewählt ist, kannst du ein Textfeld hinzufügen, um dem Benutzer die Eingabe eines benutzerdefinierten Wertes zu ermöglichen. So könnte dein Code aussehen:
Private Sub optEingabe_Click()
    Dim benutzerWert As String
    benutzerWert = InputBox("Bitte geben Sie die Zeit in HH:MM ein:")
    ActiveSheet.Cells(Zeile, 22) = benutzerWert
End Sub

Tipps für Profis

  • Verwendung von Variablen: Definiere die Zeilennummer als Variable, um den Code flexibler zu gestalten.
  • Datenvalidierung: Füge eine Datenvalidierung für die Eingabe der benutzerdefinierten Zeit hinzu, um sicherzustellen, dass die Eingabe im korrekten Format erfolgt.

FAQ: Häufige Fragen

1. Wie kann ich die Werte in anderen Zellen speichern?
Du kannst ActiveSheet.Cells(Zeile, Spalte) anpassen, um die Werte in anderen Zellen zu speichern.

2. Was tun, wenn ich die Userform nicht sehe?
Stelle sicher, dass du die Userform mit UserForm.Show aufrufst.

3. Wie kann ich die Optionen automatisch auswählen, wenn die Userform geöffnet wird?
Verwende den UserForm_Initialize-Ereignis, um die Werte aus der Arbeitsmappe auszulesen und die entsprechenden Optionsfelder auszuwählen.

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