Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1524to1528
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
Textbox abhängig von Checkbox füllen?
20.11.2016 22:51:53
Checkbox
Hallo Forum,
Ich hoffe ich kann mein Problem verständlich erklären:
Über eine Userform werden Daten erfasst. Es sollen mehrere Optionen ausgewählt und kombiniert werden können. Ich weiß aber nicht, ob das überhaupt so geht: hat jmd eine Idee für mich, wie ich das umsetzen kann? Ich habe die userform noch nicht aufgebaut und noch gar keinen Code, daher leider kein Bsp., sorry...
Ich dachte ich nutze Checkboxen, die automatisch eine Textbox füllen, hab aber im Archiv nichts passendes gefunden.
Später soll in der Tabelle in A1 dann ein Name, in B1 ein Wochentag und in C1 ein Menü-Kürzel stehen. Aber wie bekomme ich es hin, dass zum einen 26 Checkboxen abgefragt werden und dann jeweils nur das entsprechende Kürzel eingetragen wird? Ich will ja nicht alle 26 hoch x Kombinationsmöglichkeiten abfragen...
Gibt es evtl. eine andere Möglichkeit als meinen Denkansatz?
Beispiel 1: "Peter hatte am Dienstag Schnitzel, Pommes, Salat und Dessert."
Beispiel 2: "Sandra hatte am Mittwoch Salat, Suppe und Dessert."
In die Userform trägt man in ein Textfeld den Namen ('Peter' bzw. 'Sandra') ein und wählt in ner Combobox den Wochentag ('Dienstag' bzw. 'Mittwoch') aus.
Dann kann aus 26 verschiedenen Checkboxen (u.a. 'Dessert', 'Schnitzel', 'Pommes', 'Salat', 'Suppe') gewählt werden und daraufhin erscheint ein Kürzel ('SchniPoSaDes' bzw. 'SuSaDes') in der Textbox. Später steht in der Tabelle folgendes:
A1 = Peter
B1 = Dienstag
C1 = SchniPoSaDes
A2 = Sandra
B2 = Mittwoch
C2 = SuSaDes
Vielen Dank im Voraus,
Eleni

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textbox abhängig von Checkbox füllen?
21.11.2016 06:11:51
Checkbox
nach folgendem Prinzip
Option Explicit
Private Sub CheckBox1_Click()
Range("A1") = Textbox1
Range("B1") = CheckBox1.Caption
End Sub


AW: Textbox abhängig von Checkbox füllen?
21.11.2016 07:54:33
Checkbox
Hallo,
ok, um mal auf Hajos Grundgedanken aufzubauen , füg noch zu Deinen angegebenen Controls einen Übernehmen-Button (im Code Cmd-Button1) und einen Refresh-Button für die Checkboxen (Cmd-Button2) hinzu, ob jetzt diese kryptischen Abk-Texte in den Zellen so sinnvoll sind, müsstest Du vielleicht selbst nochmal überdenken:
' ********************************************************************** 
' Modul: UserForm1 Typ: Userform 
' ********************************************************************** 

Option Explicit

Private mcolCheckBoxes As Collection

Private Sub CommandButton1_Click()
Dim objCheckBox As MSForms.CheckBox
For Each objCheckBox In mcolCheckBoxes
    If objCheckBox.Value Then Exit For
Next
If Not objCheckBox Is Nothing And _
  TextBox1.Text <> vbNullString And _
  ComboBox1.Text <> vbNullString Then
  Call prcFillInData(probjUserForm:=Me)
  Set objCheckBox = Nothing
Else
  Call MsgBox("Bitte tragen Sie alle erforderlichen Daten ein..", vbExclamation)
End If
End Sub

Private Sub CommandButton2_Click()
Dim objCheckBox As MSForms.CheckBox
For Each objCheckBox In mcolCheckBoxes
    objCheckBox.Value = False
Next
End Sub

Private Sub UserForm_Activate()
Call Init_Class
ComboBox1.List() = Array("Montag", "Dienstag", "Mittwoch", _
       "Donnerstag", "Freitag", "Samstag", "Sonntag")
End Sub

Private Sub UserForm_Terminate()
Set mcolCheckBoxes = Nothing
End Sub

Private Sub Init_Class()
Dim objControl As Control
Set mcolCheckBoxes = New Collection
For Each objControl In Controls
    If TypeOf objControl Is MSForms.CheckBox Then
       Call mcolCheckBoxes.Add(Item:=objControl)
    End If
Next
End Sub

Public Property Get prpcolCheckBoxes() As Collection
 Set prpcolCheckBoxes = mcolCheckBoxes
End Property

' ********************************************************************** 
' Modul: Modul1  Typ: Standardmodul 
' ********************************************************************** 

Option Explicit
Option Private Module

Private lstrText As String

Private Sub prcConcatenate(ByRef probjUserForm As Object)
Dim objCheckBox As MSForms.CheckBox
Dim strText As String
Dim lngIndex As Long
lstrText = vbNullString
For Each objCheckBox In probjUserForm.prpcolCheckBoxes
   With objCheckBox
       If .Value Then
         Select Case .Caption '// hier paßt Du Deine individuelle Abk._Länge an... 
             Case Is = "Schnitzel": lngIndex = 5
             Case Is = "Erdbeerpudding": lngIndex = 4
             Case Is = "Dessert", Is = "RoteGrütze", _
                  Is = "Sahnetorte": lngIndex = 3
             Case Else: lngIndex = 2
         End Select
         lstrText = lstrText & Left$(String:=.Caption, Length:=lngIndex)
       End If
   End With
Next
End Sub

Public Sub prcFillInData(ByRef probjUserForm As Object)
  Dim strText As String
  Dim lngIndex As Long, lngLastRow As Long
  Call prcConcatenate(probjUserForm:=probjUserForm)
  With Tabelle1
      If Not IsEmpty(.Cells(1, 1).Value) Then lngIndex = 1
      lngLastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
      .Cells(lngLastRow + lngIndex, 1).Value = probjUserForm.TextBox1.Text
      .Cells(lngLastRow + lngIndex, 2).Value = probjUserForm.ComboBox1.Text
      .Cells(lngLastRow + lngIndex, 3).Value = lstrText
  End With
End Sub


VBA/HTML - CodeConverter für Office-Foren
AddIn für Excel/Word 2000-2010 - komplett in VBA geschrieben von Lukas Mosimann
Projektbetreuung durch mumpel



Code erstellt und getestet in Office 14

Gruß, Mullit
Anzeige
AW: Textbox abhängig von Checkbox füllen?
21.11.2016 23:29:56
Checkbox
Vielen Dank Hajo und Mullit.
Hallo Mullit,
Vielen Dank für deine Mühen. Habe etwas Zeit gebraucht, um das Userform mit deinen zwei zusätzlichen command buttons aufzubauen. Nun hab ich deinen ersten Code in die Userform transferiert und den zweiten Code in Modul 1. Wenn ich jetzt auf die zwei command buttons 'übernehmen' und 'refresh' klicke, bringt er mir nun den Laufzeitfehler 424 "Objekt erforderlich".
Was hab ich vergessen?
Ciao, Eleni
AW: Textbox abhängig von Checkbox füllen?
21.11.2016 23:42:11
Checkbox
Hallo Eleni,
dann lad mal Deine Bsp.-Mappe hier hoch und ich guck mir das an...
Gruß, Mullit
AW: Textbox abhängig von Checkbox füllen?
23.11.2016 23:20:01
Checkbox
Hallo Mullit,
Sorry fürd späte Hochladen, aber war jetzt fast 2 Tage zu Hause offline ...
https://www.herber.de/bbs/user/109675.xlsm
Mittlerweile ist die Combobox ersetzt worden; der Bekannte, für den ich das nebenbei mache, hatte 'Änderungswünsche' :-)
Danke schon mal im Voraus für deine Mühe.
Falls du den Fehler nicht finden kannst, versuch ich einen anderen Weg mim "Auftraggeber" zu finden.
Ciao, Eleni
Anzeige
AW: Textbox abhängig von Checkbox füllen?
24.11.2016 00:29:18
Checkbox
Hallo,
ok, Deine Fehler hab schon mal eliminiert, aber Du müsstest mich mal aufklären, was es mit dem Menübutton auf sich hat, der und die Textbox6, ggf. auch die Sonstiges-Checkbox scheinen noch für eine Extra-Abfrage da zu sein, normalerweise sollte nur der Ok-Button als Bestätigung dienen und ausreichen...
Gruß, Mullit
AW: Textbox abhängig von Checkbox füllen?
24.11.2016 10:46:17
Checkbox
Hallo Mullit,
Ich habe dich glaub ich falsch verstanden, als du sagtest ich solle einen "Übernehmen-Button (im Code Cmd-Button1) und einen Refresh-Button für die Checkboxen (Cmd-Button2)" hinzufügen... ich hatte ja die userform noch nicht aufgebaut, als ich meine Frage gestellt hab. Dann hab ich das userform mit den beiden command buttons "OK" und "Abbrechen" kreiert und erst danach hab ich deine Antwort gelesen; naja, und dann hab ich den command button "Menü" als deinen "Übernemen-Button" interpretiert und dazugepackt UND den "Refresh-Button". Du hattest aber wohl mit dem "Übernemen-Button" meinen "OK"-Button im Sinn?
Sonstiges: Ich hab zwar schon 26 checkboxen, es kann aber sein, dass in Zukunft noch was anderes im Menü erscheinen soll und dann will ich nicht nachträglich programmieren müssen, daher auch der Punkt "sonstiges". Wenn ich den anklicke, könnte ich die textbox6 manuell anpassen und ein nicht vorhandenes Kürzel ergänzen.
Die Textbox6 dachte ich zeigt das Kombinationskürzel (SchniPoSaDes) an, also sobald ich eine checkbox anklicke, erscheint das entsprechende Kürzel in dieser textbox6 und dann wird nur diese textbox6 in die xls-Tabelle übertragen...
Ich hoffe du konntest meinen wirren Gedanken folgen :-)
Anzeige
AW: Textbox abhängig von Checkbox füllen?
25.11.2016 18:06:21
Checkbox
Hallo Eleni,
ok, dann versuchen wir's besser mit ner Event-Klasse, da werden Deine Kürzel in Echtzeit angepasst, den MenüButton hab ich auf Visible = False gesetzt, falls Du ihn noch irgendwie benötigst:
https://www.herber.de/bbs/user/109722.xlsm
Gruß, Mullit
Geschlossen
29.11.2016 23:14:13
Eleni
DANKE Mullit!
Und entschuldige die späte Antwort, aber irgendwie ist das DSL in letzter Zeit instabil...
Habe übrigens die command buttons 'Menü' und 'Refresh' entfernt, da es auch ohne geht :-)
Ciao, Eleni

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige