Anzeige
Archiv - Navigation
1764to1768
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
Checkboxnamen in einer Zelle ausgeben
17.06.2020 16:03:53
Martin
Hallo liebes Forum,
da ich nur geringe bzw. einfache Kenntnisse von Userformen habe, bitte ich euch um Hilfe. Wie aus der Datei zu entnehmen ist, möchte ich eine Userform aufrufen. Am besten sollen alle Checkboxen bereits mit Haken ausgefüllt sein und der User wählt nur die ab, welche nicht benötigt werden. Wenn dies nicht geht und der User alle benötigten anwählen muss, passt dies auch.
Die Felder, welche nicht angeklickt sind, sollen dann in einer Zelle (Beispiel in E14) durch ein Komma getrennt geschrieben werden. Jede Checkbox hat daher einen eindeutigen Namen (Checkbox1 soll „Halle A – FS“ sein, Checkbox2 „Halle A – SpS“, …)
Es soll somit die Namen angezeigt werden, welche nicht ausgewählt sind.
https://www.herber.de/bbs/user/138378.xlsm
Grüße Martin

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

Betreff
Datum
Anwender
Anzeige
AW: Checkboxnamen in einer Zelle ausgeben
17.06.2020 16:30:24
Martin
Kleines Update von mir. Das mit dem Haken hab ich eigentlich gelöst. Hatte da einen Schreibfehler drin.
Für Leute mit dem gleichen Problem hier der Code:
Private Sub UserForm_Initialize()
Dim i As Integer
For i = 1 To 6
Controls("Checkbox" & i).Value = True
Next
End Sub

AW: Checkboxnamen in einer Zelle ausgeben
17.06.2020 16:43:10
EtoPHG
Hallo Martin,
Für das Setzen des Hakens brauchts keinen Code, wenn du im Entwurfsmodus die Value auf True setzt. Und den Text zum Übertragen in die Zelle schreibst du am besten in die Tag Eigenschaft.
Userbild
...dann brauchst du für den Übernehmen Button nur noch diesen Code:
Private Sub CommandButton1_Click()
Dim ctrl As Object
Dim Ziel As Range
Set Ziel = ActiveSheet.Cells(15, 5)
Ziel.ClearContents
For Each ctrl In Me.Controls
If Left$(ctrl.Name, 8) = "CheckBox" Then
If ctrl.Value Then _
Ziel = Ziel.Text & ctrl.Tag & ", "
End If
Next ctrl
If Len(Ziel.Text) > 0 Then _
Ziel = Left$(Ziel.Text, Len(Ziel.Text) - 2)
End Sub
Gruess Hansueli
Anzeige
AW: Checkboxnamen in einer Zelle ausgeben
17.06.2020 16:44:32
Matthias
Hi
Du kannst doch Deine Checkbox-Objekte schon auf True einstellen (in den Eigenschaften)
Ich würde dann die Tag-Eigenschaft nutzen und dort schon die Strings ablegen.
Dann wie Du das schon gemacht hast mit einer Schleife abfragen ob True/False.
Wenn False verkettest Du die Strings aus der Tag-Eigenschaft und trennst sie mit Komma.
Gruß Matthias
AW: Checkboxnamen in einer Zelle ausgeben
18.06.2020 11:13:38
Martin
Danke für eure Hilfe und Erklärungen. Wieder was gelernt!
Grüße Martin
AW: Checkboxnamen in einer Zelle ausgeben
17.06.2020 16:36:42
Nepumuk
Hallo Martin,
teste mal: https://www.herber.de/bbs/user/138379.xlsm
Gruß
Nepumuk
Anzeige
AW: Checkboxnamen in einer Zelle ausgeben
17.06.2020 16:58:04
Martin
Hallo Nepumuk,
danke für die Hilfe. Es funktioniert so wie ich es mir vorgestellt habe. Ich hätte aber noch ein paar fragen, damit ich mich weiterentwickle und alles auch verstehe.
1. "Sheet1.Range("E14").Value = Left$(strText, Len(strText) - 2)" Was bedeutet in diesem Zusammenhang Left$ und Len(strTxt)-2)?
2. Ich hatte ja ein Update mit den Haken gemacht beim Initialisieren der Userform. Dies ist bei dir nicht. Wie hast du das gelöst? Gibt es das bei den Einstellungen?
3. Du setzt die Namen aus den Labeln zusammen. Hatte mal versucht das in die Checkbox zu ändern. Es kam ein Syntaxerror. Ich wollte gerne die nehmen, weil ich dort Abkürzungen reinschreiben kann. Die Labels sind im Original sehr lang. Anstatt Halle 1 ist es Halle A3 inkl. Spezialanlieferung und FS zb. Frühschicht. Der User soll später die langen Namen sehen, aber in der ganzen Berechnung etc. sollen die Kürzel verwendet werden (A3-Sp-FS)
Grüße Martin
Anzeige
AW: Checkboxnamen in einer Zelle ausgeben
17.06.2020 17:09:34
Nepumuk
Hallo Martin,
1. Damit schneide ich das letzte ", " ab.
2. Ich habe im Entwurfsmodus die Value-Eigenschaft auf True gesetzt.
3. In den Namen von Controls dürfen sich keine Leerzeichen befinden.
Gruß
Nepumuk
Nimm .Tag statt Namen, wie vorgeschlagen (owT)
17.06.2020 17:32:37
EtoPHG

AW: Nimm .Tag statt Namen, wie vorgeschlagen (owT)
18.06.2020 11:13:58
Martin
Danke für eure Hilfe und Erklärungen. Wieder was gelernt!
Grüße Martin

326 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige