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

Forumthread: Checkbox per VBA de-/aktivieren

Checkbox per VBA de-/aktivieren
23.03.2005 12:13:40
Philipp
Hallo,
wie aktiviert man mit VBA eine Checkbox in einem anderen Tabellenblatt (also ein Häkchen setzen).
Laut Makrorekorder wäre es

Sheets("Firmen").Select
ActiveSheet.Shapes("Check Box 1063").Select
With Selection
.Value = xlOff
.LinkedCell = ""
.Display3DShading = False
End With

woraus ich dann

Worksheets("Firmen").Shapes("Check Box 1063").Value = xlOff

gemacht habe.
Was stimmt daran nicht? Ich bekomme immer eine Fehlermeldung (458).
Danke
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Checkbox per VBA de-/aktivieren
23.03.2005 13:05:53
Florian
Hallo,
also wenn Du die CheckBox bloß aktivieren (nicht deaktivieren) möchtest, dann so:
Sub Aktivieren()
Sheets("Firmen").CheckBox1.Value = True
End Sub
wenn das Makro herausfinden soll, welchen Status die CheckBox gerade hat, um genau das Gegenteil einzutragen, dann so:

Private Sub CommandButton2_Click()
If Sheets("Firmen").CheckBox1.Value = True Then
Sheets("Firmen").CheckBox1.Value = False
ElseIf Sheets("Firmen").CheckBox1.Value = False Then
Sheets("Firmen").CheckBox1.Value = True
End If
End Sub

Anzeige
AW: Checkbox per VBA de-/aktivieren
23.03.2005 14:04:28
Philipp
Ich bekomme dann die Fehlermeldung:
"Objekt unterstützt diese Eigenschaft oder Methode nicht (Fehler 438)"
Danke für die Hilfe!
AW: Checkbox per VBA de-/aktivieren
23.03.2005 14:19:27
Florian
Ja...Sorry!!! Wenn Du den unteren Code benutzt hast, dann kann das sicherlich auch nicht klappen, weil dazu ein CommandButton nötig ist. Probiers nochmal damit:

Sub Aktivieren()
If Sheets("Firmen").CheckBox1.Value = True Then
Sheets("Firmen").CheckBox1.Value = False
ElseIf Sheets("Firmen").CheckBox1.Value = False Then
Sheets("Firmen").CheckBox1.Value = True
End If
End Sub

Anzeige
AW: Checkbox per VBA de-/aktivieren
23.03.2005 14:27:03
Philipp
Danke für die Hilfe!
Leider gibt schon der alleinige Befehl
Sheets("Firmen").CheckBox1.Value = False
die Fehlermeldung 438 zurück.
Wie bestimme ich denn, ob es CheckBox1, CheckBox2 oder vielleicht CheckBox77 ist?
AW: Checkbox per VBA de-/aktivieren
23.03.2005 14:35:00
Philipp
Danke für die Hilfe!
Leider gibt schon der alleinige Befehl
Sheets("Firmen").CheckBox1.Value = False
die Fehlermeldung 438 zurück.
Wie bestimme ich denn, ob es CheckBox1, CheckBox2 oder vielleicht CheckBox77 ist?
Anzeige
AW: Checkbox per VBA de-/aktivieren
23.03.2005 15:09:37
Florian
Mmmmh seltsam...bei mir klappt es!? Die Zahl hinter dem Wort "CheckBox" bestimmt, welche du exakt ansprechen möchtest...
Gruß, Florian
AW: Checkbox per VBA de-/aktivieren
23.03.2005 15:12:58
Philipp
Die Checkbox ist in einem Arbeitsblatt, nicht in einem UserForm!
Dass die Zahl die jeweils bestimmte CheckBox anspricht, ist klar. Aber wie finde ich heraus, welche Zahl meine entsprechende CheckBox hat?
Anzeige
AW: Checkbox per VBA de-/aktivieren
23.03.2005 15:29:46
Florian
Im VBA-Bearbeitungsmodus kannst Du die Bezeichnung des Elementes im Namenfeld (links neben der Bearbeitungsleiste) sehen.
AW: Checkbox per VBA de-/aktivieren
23.03.2005 15:34:42
Philipp
Im VBA-Bearbeitungsmodus wird die CheckBox gar nicht angezeigt. Da kann ich nur die Eigenschaften der Worksheets anzeigen, nicht jedoch die der enthaltenen Checkboxen.
AW: Checkbox per VBA de-/aktivieren
23.03.2005 16:02:18
Florian
In der Symbolleiste "Visual Basic" gibt es den Button "Entwurfsmodus" (türkieses Motiv). Wenn Du den aktivierst, kannst Du Deine Steuerelemente bearbeiten. Wenn Du z. B. Deine CheckBox aktiviert hast, kannst Du im Namenfeld die Bezeichnung des jeweiligen Elementes sehen...
Anzeige
AW: Checkbox per VBA de-/aktivieren
23.03.2005 16:10:50
Philipp
Sorry, aber im Entwurfsmodus kann ich nirgends den Namen sehen. Welches Namenfeld?
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Checkbox per VBA aktivieren und deaktivieren


Schritt-für-Schritt-Anleitung

Um eine Checkbox in Excel mit VBA zu aktivieren oder zu deaktivieren, kannst du die folgenden Schritte befolgen:

  1. Öffne den VBA-Editor (ALT + F11).
  2. Füge ein neues Modul hinzu (Rechtsklick auf "VBAProject" > Einfügen > Modul).
  3. Schreibe den folgenden Code:
Sub CheckboxAktivieren()
    Sheets("Firmen").CheckBox1.Value = True ' Aktiviert die Checkbox
End Sub

Sub CheckboxDeaktivieren()
    Sheets("Firmen").CheckBox1.Value = False ' Deaktiviert die Checkbox
End Sub
  1. Du kannst auch einen Button hinzufügen, um die Checkbox mit einem Klick zu aktivieren oder zu deaktivieren:
Sub ToggleCheckbox()
    With Sheets("Firmen").CheckBox1
        .Value = Not .Value ' Wechselt den Status der Checkbox
    End With
End Sub
  1. Schließe den VBA-Editor und teste das Makro in deinem Arbeitsblatt.

Häufige Fehler und Lösungen

  • Fehler 438: Objekt unterstützt diese Eigenschaft oder Methode nicht
    Dieser Fehler tritt häufig auf, wenn du versuchst, eine Methode auf ein Objekt anzuwenden, das diese Methode nicht unterstützt. Stelle sicher, dass der Name der Checkbox korrekt ist (z.B. "CheckBox1").

  • Fehler 458: Objekt oder Methode nicht gefunden
    Überprüfe, ob das richtige Arbeitsblatt (z.B. "Firmen") ausgewählt ist und dass die Checkbox tatsächlich vorhanden ist.

  • Checkbox wird im VBA-Bearbeitungsmodus nicht angezeigt
    Stelle sicher, dass du den Entwurfsmodus in der Symbolleiste "Visual Basic" aktivierst. Dort kannst du die Bezeichnung der Checkbox im Namenfeld sehen.


Alternative Methoden

Falls du keine VBA-Programmierung verwenden möchtest, kannst du auch die integrierte Funktion "Formularsteuerelemente" nutzen:

  1. Gehe zu "Entwicklertools" > "Einfügen".
  2. Wähle "Kontrollkästchen (Formularsteuerelement)" aus und ziehe es auf dein Arbeitsblatt.
  3. Rechtsklicke auf die Checkbox und wähle "Steuerelement formatieren", um die Zellen zu verknüpfen.

Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die Checkbox aktivieren oder deaktivieren kannst:

  1. Checkbox aktivieren/deaktivieren mit Button:
Private Sub CommandButton1_Click()
    ToggleCheckbox
End Sub
  1. Checkbox basierend auf einer Bedingung:
Sub BedingteCheckbox()
    If Sheets("Firmen").Range("A1").Value = "Aktiv" Then
        Sheets("Firmen").CheckBox1.Value = True
    Else
        Sheets("Firmen").CheckBox1.Value = False
    End If
End Sub

Tipps für Profis

  • Nutze die .LinkedCell-Eigenschaft, um die Checkbox mit einer Zelle zu verknüpfen. So kannst du den Status der Checkbox direkt in einer Zelle sehen:
Sheets("Firmen").CheckBox1.LinkedCell = "B1"
  • Verwende If...Then-Bedingungen, um dynamisch zu entscheiden, welcher Wert gesetzt werden soll.

  • Experimentiere mit verschiedenen Checkboxen und Namen, um mehr über vba kontrollkästchen aktivieren zu lernen.


FAQ: Häufige Fragen

1. Wie finde ich heraus, welche Checkbox ich ansprechen muss?
Im VBA-Bearbeitungsmodus kannst du die Checkbox im Namenfeld sehen, wenn du den Entwurfsmodus aktivierst.

2. Was mache ich, wenn meine Checkbox nicht funktioniert?
Überprüfe, ob die Checkbox im richtigen Arbeitsblatt existiert und ob der Name korrekt ist. Stelle auch sicher, dass du im Entwurfsmodus bist, wenn du die Steuerelemente bearbeitest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige