Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1780to1784
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
VBA Userform Checkbox
21.09.2020 15:50:16
Herr
Hello,
ich habe eine kurze Frage, wo die Antwort mir eine Menge Arbeit ersparen würde.
Ich habe eine Reihe von Datennamen in einem Excel-Tabellenblatt. Jtzt möchte ich über eine Userform jeden einzelnen Name als Checkbox-Abfrage. Gibt es einen schnelleren und smarteren Weg als als die Checkboxen einzeln nach den Datennamen zu benennen? Also dass ich bspw. den Range der Reihe angebe und es wird automatisch eine Anzahl X an Checkboxen mit den Namen in den Zellen erstellt?
Danke und Gruß David

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

Betreff
Datum
Anwender
Anzeige
AW: VBA Userform Checkbox
21.09.2020 15:57:27
Daniel
Hi
ja, verwende eine Listbox vom Typ Multiselect.
über die Einstellungen in den Eigenschaften kann man die auch aussehen lassen wie eine Gruppe von Checkboxen.
Gruß Daniel
AW: VBA Userform Checkbox
23.09.2020 09:40:50
Herr
Super, das hat funktioniert!
Jetzt habe ich allerdings noch eine Frage. Wenn ein Kontrollkästchen in der Liste angeklickt ist, wie weise ich ihm den Wert "True" zu?
mit
Private Sub CommandButton1_Click()
If Userform1.Auswahliste.List(0) = True Then
Sheets("Grunddaten").Range("Technischer_Support") = 1
Else
Sheets("Grunddaten").Range("Technischer_Support") = 0
End If
End Sub
komme ich nicht weiter bzw. der Wert "1" wird nicht übernommen.
Danke und Gruß :)
Anzeige
AW: VBA Userform Checkbox
23.09.2020 10:28:17
Daniel
Hi
über die .Selected()-Eigenschaft der Listbox kannst du die Checkboxzustände der einzelnen Einträge abfragen. Da dieser Zustand TRUE oder FALSE sein kann, kann man den Vergleich mit =True auch weglassen, weil man den Wahrheitswert ja schon direkt hat:
if Userform1.AuswahlListe.Selected(0) Then
du kannst deinen kleinen IF-Block auch als Einzeiler schreiben, das IIF entspricht dem WENN in einer Exccelformel:
...Range("TechnischerSupport") = IIF(Auswahlliste.Selected(0), 1, 0)
oder ganz kompakt mit dem Wissen dass ein TRUE in Berechnungen als -1 und ein FALSE als 0 gewertet wird:
...Range("TechnischerSupport") = -Auswahlliste.Selected(0)
Gruß Daniel
Anzeige
AW: VBA Userform Checkbox
23.09.2020 13:56:38
Herr
Perfekt! Es hat geklappt!
Vielen Dank für deine Hilfe!
Gruß David

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige