Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mit Checkbox ein x in eine Zelle eintragen

Mit Checkbox ein x in eine Zelle eintragen
10.07.2017 12:19:53
Doll
Hallo alle zusammen. Ich habe eine Tabelle in der ich ein Formular zum ein und ausgeben von Daten erstellt habe. Nun möchte ich das gewisse Spalten in denen nur ein x eingetragen wird über eine Checkbox eintragen lassen und wenn in der Zelle ein x ist in der Checkbox ein Harken erscheint wenn man den entsprechenden Datensatz aufruft.
Kann mir da jemand weiterhelfen?
Die Checkbox ins Formular einfügen kann ich aber das Programmieren ist für mich das Problem.
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Mit Checkbox ein x in eine Zelle eintragen
10.07.2017 13:11:08
fcs
Hallo Doll,
hier als Beispiel der Code für ein Userform mit 3 Textboxen (Text, Zahl, Datum) und einer Checkbox.
Gruß
Franz
Option Explicit
Private ZeileDaten As Long      'Zeile mit dem zu ändernden Datensatz
Private wksData As Worksheet    'Tabellenblatt mit den Daten
Private Sub DatenEinlesen(Zeile As Long)
With wksData
Me.TextBox1 = .Cells(Zeile, 1).Text
Me.TextBox2 = .Cells(Zeile, 2).Text
Me.TextBox3 = .Cells(Zeile, 3).Text
Me.CheckBox1 = LCase(.Cells(Zeile, 4).Text) = "x"
End With
End Sub
Private Sub Daten_in_Tabelle_schreiben(Zeile As Long)
With wksData
.Cells(Zeile, 1).Value = Me.TextBox1 'bei Text
With Me.TextBox2            'bei Zahlenwerten
If .Value = "" Then
wksData.Cells(Zeile, 2).ClearContents
ElseIf IsNumeric(.Value) Then
wksData.Cells(Zeile, 2).Value = CDbl(.Value)
Else
wksData.Cells(Zeile, 2).Value = .Value
End If
End With
With Me.TextBox3            'bei Datumswerten
If .Value = "" Then
wksData.Cells(Zeile, 3).ClearContents
ElseIf IsDate(.Value) Then
wksData.Cells(Zeile, 3).Value = CDate(.Value)
Else
wksData.Cells(Zeile, 3).Value = .Value
End If
End With
If Me.CheckBox1 = True Then
.Cells(Zeile, 4).Value = "X"
Else
.Cells(Zeile, 4).ClearContents
End If
End With
End Sub
Private Sub CommandButton_Abbrechen_Click()
Unload Me
End Sub
Private Sub CommandButton_Eintragen_Click()
Call Daten_in_Tabelle_schreiben(Zeile:=ZeileDaten)
Unload Me
End Sub
Private Sub UserForm_Activate()
Set wksData = ActiveSheet
ZeileDaten = ActiveCell.Row
Call DatenEinlesen(Zeile:=ZeileDaten)
End Sub

Anzeige
AW: Mit Checkbox ein x in eine Zelle eintragen
10.07.2017 14:00:30
Doll
Hallo Franz erst mal vielen Dank für das Beispiel aber wie kann ich nun diesen Code in meinen einfügen?
Ich brauche nur den Code für eine Checkbox die dann für eine Spalte zuständig ist, so das ich ihn dann in mein Formular einfügen kann. Ich habe schon 69 Textboxen und die fuktionieren alle.
Leider bin ich in VBA nicht so gut das ich schon einen Code einfach für mich umschreiben könnte!
Leider Uff
Guß
Michael
Anzeige
AW: Mit Checkbox ein x in eine Zelle eintragen
10.07.2017 14:37:34
fcs
Hallo Doll,
ich kann dir kaum weiterhelfen, ja weder deine Datei kenne noch den Code wie du die Textboxen füllst bzw. die Inhalte aus dem Userform in ein Tabellenblatt zurückschreibst.
In meinem Beispiel ist für das Einlesen in die Userform-Checkbox folgende Zeile zuständig
        Me.CheckBox1 = LCase(.Cells(Zeile, 4).Text) = "x"

für das zurückschreiben in das Tabellenblatt der Block
        If Me.CheckBox1 = True Then
.Cells(Zeile, 4).Value = "X"
Else
.Cells(Zeile, 4).ClearContents
End If

Me steht als Vertreter für das Userform - Der Code muss dann im Userform-Codemodul stehen. Ansonsten musst du Me durch den Namen des Userforms ersetzen.
vor .Cells musst du das Tabellenblatt einfügen, Zeile ist die Variable für die Zeilennummer aus der eingelesen bzw. in die geschrieben wird, 4 ist entsprechend die Nummer der Spalte.
Könnte dann so aussehen:
        Me.CheckBox1 = LCase(WorkSheets("MeineTabelle").Cells(MeineZeile,_
MeineSpalte).Text) = "x"

bzw.
        If Me.CheckBox1 = True Then
WorkSheets("MeineTabelle").Cells(MeineZeile, MeineSpalte).Value = "X"
Else
WorkSheets("MeineTabelle").Cells(MeineZeile, MeineSpalte).ClearContents
End If

"MeineTabelle", MeineZeile und MeineSpalte musst du dann entssprechend ersetzen.
Statt WorkSheets("MeineTabelle") könntest du ggf. auch ActiveSheet verwenden, analog dazu, wie du es bei den Textboxen umgesetzt hast.
Gruß
Franz
Anzeige
AW: Mit Checkbox ein x in eine Zelle eintragen
11.07.2017 13:23:34
Doll
Hallo Franz
Danke ich habe es hinbekommen
Guß
Michael

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Checkbox ein x in eine Zelle eintragen


Schritt-für-Schritt-Anleitung

  1. Checkbox einfügen: Öffne Excel und gehe auf die Registerkarte „Entwicklertools“. Wenn diese nicht sichtbar ist, aktiviere sie über die Excel-Optionen. Klicke auf „Einfügen“ und wähle das Kontrollkästchen (Checkbox) aus.

  2. Checkbox in Zelle einbetten: Klicke mit der rechten Maustaste auf die Checkbox und wähle „Steuerelement formatieren“. Im Reiter „Steuerung“ kannst du die Zelle festlegen, in der das Kontrollkästchen verknüpft werden soll. Dies ermöglicht dir, den Status der Checkbox in einer bestimmten Zelle zu sehen.

  3. VBA-Code einfügen: Um die Checkbox mit einem x zu verknüpfen, öffne den VBA-Editor (Alt + F11) und füge den folgenden Code in das Codemodul des UserForms ein:

    Private Sub CheckBox1_Click()
       If CheckBox1.Value Then
           ActiveSheet.Range("A1").Value = "X"  'A1 anpassen
       Else
           ActiveSheet.Range("A1").Value = ""
       End If
    End Sub
  4. UserForm aktivieren: Stelle sicher, dass dein UserForm so konfiguriert ist, dass es beim Aktivieren den Wert in der Zelle überprüft und die Checkbox entsprechend anzeigt.


Häufige Fehler und Lösungen

  • Checkbox zeigt keinen Wert an: Überprüfe, ob die Checkbox korrekt mit der Zelle verknüpft ist. Du kannst dies tun, indem du in den Eigenschaften der Checkbox nach der „LinkedCell“ suchst.

  • Kein x in Zelle sichtbar: Stelle sicher, dass der VBA-Code im richtigen Codemodul steht. Wenn du den Code in ein anderes Modul eingefügt hast, wird er nicht funktionieren.

  • Checkbox funktioniert nicht nach dem Einfügen: Manchmal kann es nötig sein, die Excel-Datei zu speichern und neu zu laden, damit die Checkbox korrekt funktioniert.


Alternative Methoden

  • Excel Kontrollkästchen in Zelle einfügen: Nutze die Funktion „Datenüberprüfung“ als Alternative, um ein Dropdown-Menü zu erstellen, in dem du x oder leer auswählen kannst.

  • VBA Checkbox einfügen: Anstelle eines UserForms kannst du auch ein einfaches Makro erstellen, das beim Anklicken der Checkbox den Wert direkt in die Zelle schreibt.


Praktische Beispiele

  • Beispiel für Checkbox in Zelle: Du kannst ein Formular erstellen, das mehrere Kontrollkästchen enthält, und jede Checkbox in einer anderen Zelle verknüpfen. Wenn du beispielsweise Checkbox1 mit Zelle B1 verknüpfst und Häkchen setzt, wird in B1 ein x angezeigt.
Private Sub CheckBox1_Click()
    If CheckBox1.Value Then
        Range("B1").Value = "X"
    Else
        Range("B1").Value = ""
    End If
End Sub
  • Anwendung von Excel Kontrollkästchen mit x: Erstelle eine To-Do-Liste, bei der du mit einem Häkchen in der Checkbox Aufgaben als erledigt markieren kannst.

Tipps für Profis

  • Verwende benannte Bereiche: Benenne deine Zellen, um den VBA-Code übersichtlicher zu gestalten. Statt Range("A1") kannst du z.B. Range("AufgabenStatus") verwenden.

  • Kombiniere mit bedingter Formatierung: Du kannst die Zellen, die mit den Kontrollkästchen verknüpft sind, farblich hervorheben, wenn sie ein x enthalten.

  • Mehrere Kontrollkästchen: Wenn du mehrere Kontrollkästchen benötigst, kopiere einfach die erste Checkbox und passe den zugehörigen VBA-Code entsprechend an.


FAQ: Häufige Fragen

1. Wie kann ich ein Kontrollkästchen in eine Zelle einfügen?
Du kannst ein Kontrollkästchen über die Registerkarte „Entwicklertools“ einfügen und dann die Zelle festlegen, mit der es verknüpft ist.

2. Wie schreibe ich ein x in eine Zelle, wenn die Checkbox aktiviert ist?
Nutze den VBA-Code, um den Wert der Checkbox zu überprüfen und entsprechend in die Zelle zu schreiben. Ein Beispielcode findest du im Abschnitt „Schritt-für-Schritt-Anleitung“.

3. Was tun, wenn die Checkbox nicht mehr funktioniert?
Überprüfe die Verknüpfung zur Zelle und stelle sicher, dass der VBA-Code im richtigen Modul steht. Ein Neustart von Excel kann manchmal auch helfen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige