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

Forumthread: VBA Programmierung für Checkboxen

VBA Programmierung für Checkboxen
28.02.2013 17:15:33
Nico
Hallo Zusammen,
ich hät da gern nochmal ein kleines Problem ;-)
Ich möchte mit einer Checkbox (wenn sie aktiviert ist) auf einer anderen Mappe eine weitere Checkbox aktivieren. (Beides keine Formularcheckboxen :-))
Kann mir da wer helfen?

Anzeige

22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Programmierung für Checkboxen
28.02.2013 17:24:08
Daniel
Hi
du musst Dateiname und Sheetname zusätzlich mit angeben, um die Checkbox anzusprechen.
die Datei muss natürlich geöffnet sein:
Private Sub CheckBox1_Click()
Workbooks("Mappe2.xls").Sheets("Tabelle1").CheckBox1.Value = CheckBox1.Value
End Sub
gruß Daniel

Anzeige
AW: VBA Programmierung für Checkboxen
28.02.2013 17:28:03
Nico
bin mir bei deinem Beitrag nich ganz sicher, ob es damit funktionieren würde.
Ich beschreibs nochmal. ich habe in der einen Arbeitsmappe Checkbox 1 .Wenn diese aktiviert ist möchte ich das in der anderen Arbeitsmappe Checkbox xy aktiviert wird. Es handelt sich hierbei um die gleiche Datei jedoch unterschiedliche Arbeitsmappen

Anzeige
AW: VBA Programmierung für Checkboxen
28.02.2013 17:30:27
Hajo_Zi
wenn es unterschiedliche Arbeitsmappen sind, sind es auch unterschiedliche Dateien.

AW: VBA Programmierung für Checkboxen
28.02.2013 17:31:27
Hajo_Zi
wenn es unterschiedliche Arbeitsmappen sind, sind es auch unterschiedliche Dateien.

Anzeige
AW: VBA Programmierung für Checkboxen
28.02.2013 17:32:38
ransi
HAllo Nico
Ich glaube du verwechselt da etwas.
Eine Arbeitsmappe ist eine Datei.
Die hat im allgemeinen mehrere Arbeitsblätter.
Meinst du so?
Wenn diese aktiviert ist möchte ich das in dem anderen Arbeitsblatt Checkbox xy aktiviert wird.
ransi

AW: VBA Programmierung für Checkboxen
28.02.2013 17:36:36
Nico
ja stimmt Entschuldigung.
und wie würde das funktionieren, versuchs grade selber weiß nich ob das funktioniert
Private Sub Checkbox2_Click()
Select Case CheckBox2.Value
Case True
Sheets("2) Arbeitsbogen").Ceckbox23.Value = True
Case False
Sheets("2) Arbeitsbogen").CheckBox23.Value = False
End Select
End Sub
?

Anzeige
AW: VBA Programmierung für Checkboxen
28.02.2013 17:38:15
Nico
hmm, ne will nich ich habe für Checkbox 2 schon eine Programmierug ud wenn ichs so versuche sagt er mir den Fehler mehrdeutiger Name hhhhmmmmmmm

AW: VBA Programmierung für Checkboxen
28.02.2013 17:38:56
Nico
käse

AW: VBA Programmierung für Checkboxen
28.02.2013 17:40:31
Hajo_Zi
was ist an Käse offen?
Gruß Hajo

Anzeige
AW: VBA Programmierung für Checkboxen
28.02.2013 17:38:46
Hajo_Zi
ich baue keine Datei nach.
Sheets("2) Arbeitsbogen").Ceckbox23.Value = CheckBox2.Value
oder = not CheckBox2.Value
Gruß Hajo

AW: VBA Programmierung für Checkboxen
28.02.2013 17:41:07
Nico
ok das hört sich schonmal gut an Hajo danke.
Jedoch zeigt er mir an das checkbox2_Click() eine mehrdeutige bezeichnung ist, da für diese Checkbox schon eine Programmierung besteht wie bekomme ich ihn dazu beide Programmierungen auszuführen?

Anzeige
AW: VBA Programmierung für Checkboxen
28.02.2013 17:41:48
Hajo_Zi
mache eins draus.
Gruß Hajo

AW: VBA Programmierung für Checkboxen
28.02.2013 17:46:13
Nico
hmm dann zeigt er mir ein VBA Fenster an: Laufzeitfehler 438 Objekt unterstützt Anwendung nicht

AW: VBA Programmierung für Checkboxen
28.02.2013 17:48:45
Nico

Private Sub Checkbox2_Click()
Select Case CheckBox2.Value
Case False
Rows("24:37").Hidden = True
Rows("66:77").Hidden = True
Sheets("2) Arbeitsbogen").Ceckbox23.Value = CheckBox2.Value
Case True
Rows("24:37").Hidden = False
Rows("66:77").Hidden = False
Sheets("2) Arbeitsbogen").CheckBox23.Value = CheckBox2.Value
End Select
End Sub

so sieht im Moment meine Programmierung aus. Jedoch taucht dann der beschriebene Fehler auf. Die Checkbox 2 soll zum einen Zellen ein- bzw. ausblenden und zum anderen Checkbox 23 auf einem anderen Arbeitsblatt steuern

Anzeige
AW: VBA Programmierung für Checkboxen
28.02.2013 17:49:06
Hajo_Zi
Du willst das Problem selber lösen, dann mache es auch. Es wird keine Datei hochgeladen und ich hatte schon geschrieben das ich nichts nachbaue.
Ich baue keine Datei nach, die Zeit hat schon jemand investiert.
Gruß Hajo

Anzeige
AW: VBA Programmierung für Checkboxen
28.02.2013 17:52:43
Nico
ich habe meine Programmierung ja hochgeladen, sodass man mir nur helfen müsste sie zu ändern ich suche lediglich den Fehler Entschuldigung das ich gefragt habe

AW: VBA Programmierung für Checkboxen
28.02.2013 17:54:17
Hajo_Zi
Hallo Nico,
wenn ich Deinen Code in meine Datei kopiere, kommt Fehler das Steuerelemente nicht gefunden.
Gruß Hajo

Anzeige
AW: VBA Programmierung für Checkboxen
28.02.2013 17:56:57
Nico
sehr witzig :-)

Checkbox23<>Ceckbox23
28.02.2013 18:14:20
ransi
Hallo Nic
Das Ding heißt Checkbox23 und nicht Ceckbox23
So läufts:
' **********************************************************************
' Modul: Tabelle2 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Checkbox2_Click()
    Select Case CheckBox2.Value
        Case False
            Rows("24:37").Hidden = True
            Rows("66:77").Hidden = True
        Case True
            Rows("24:37").Hidden = False
            Rows("66:77").Hidden = False
    End Select
    Sheets("2) Arbeitsbogen").CheckBox23.Value = CheckBox2.Value
End Sub


ransi

Anzeige
AW: Checkbox23<>Ceckbox23
28.02.2013 18:25:41
Nico
Vielen Dank ransi jetzt läufts

AW: VBA Programmierung für Checkboxen
28.02.2013 17:55:19
Hajo_Zi
Hallo Nico,
wenn ich Deinen Code in meine Datei kopiere, kommt Fehler das Steuerelemente nicht gefunden.
Gruß Hajo

AW: VBA Programmierung für Checkboxen
28.02.2013 17:39:52
ransi
Hallo Nico
Na fast ;-)
Private Sub Checkbox2_Click()
Sheets("2) Arbeitsbogen").Ceckbox23.Value = Checkbox2.value
End Sub
Müsste eigentlich reichen ...
ransi
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA Programmierung für Checkboxen in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne Deine Excel-Datei: Stelle sicher, dass die Arbeitsmappe mit den Checkboxen geöffnet ist.

  2. Wechsle in den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Finde das richtige Arbeitsblatt: Klicke im Projekt-Explorer auf das Arbeitsblatt, das die Checkbox enthält.

  4. Füge den VBA Code ein: Kopiere und füge den folgenden Code in das Codefenster des entsprechenden Arbeitsblatts ein:

    Private Sub CheckBox1_Click()
       Sheets("2) Arbeitsbogen").CheckBox23.Value = CheckBox1.Value
    End Sub
  5. Schließe den VBA-Editor: Drücke ALT + Q, um den Editor zu schließen und zurück zu Excel zu gelangen.

  6. Teste die Checkbox: Klicke auf die Checkbox in Excel. Die Checkbox auf dem anderen Arbeitsblatt sollte entsprechend aktiviert oder deaktiviert werden.


Häufige Fehler und Lösungen

  • Fehler: Mehrdeutiger Name: Wenn du eine Fehlermeldung erhältst, dass der Name mehrdeutig ist, bedeutet dies, dass es mehrere Subroutinen mit dem gleichen Namen gibt. Ändere den Namen der Subroutine, um ihn einzigartig zu machen.

  • Fehler: Laufzeitfehler 438: Dieser Fehler tritt auf, wenn ein Objekt nicht unterstützt wird. Überprüfe, ob die Bezeichnung der Checkbox im Code genau mit der Bezeichnung in Excel übereinstimmt.

  • Fehler: Steuerelement nicht gefunden: Achte darauf, dass alle Checkboxen korrekt benannt sind. Ein Tippfehler kann zu Problemen führen.


Alternative Methoden

  • Verwendung von Formularsteuerelementen: Wenn du lieber Formularsteuerelemente statt ActiveX-Checkboxen nutzen möchtest, kannst du die gleichen Schritte befolgen, indem du die Formular-Checkboxen im Menü „Entwicklertools“ verwendest.

  • VBA für mehrere Checkboxen: Du kannst auch eine Schleife verwenden, um mehrere Checkboxen gleichzeitig zu steuern, indem du die For Each-Schleifen in VBA anwendest.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie man mit einer Checkbox in Excel VBA eine andere Checkbox aktivieren kann:

Private Sub CheckBox1_Click()
    If CheckBox1.Value = True Then
        Sheets("2) Arbeitsbogen").CheckBox23.Value = True
    Else
        Sheets("2) Arbeitsbogen").CheckBox23.Value = False
    End If
End Sub

Dieses Beispiel zeigt, wie man den Zustand einer Checkbox in Excel VBA auslesen und eine andere Checkbox entsprechend einstellen kann.


Tipps für Profis

  • Namen für Checkboxen klar definieren: Verwende klare und beschreibende Namen für deine Checkboxen, um Verwirrung zu vermeiden.
  • Code modular halten: Vermeide lange und komplexe Subroutinen. Teile den Code in kleinere, wiederverwendbare Funktionen auf.
  • Verwende Option Explicit: Diese Anweisung zwingt dich, alle Variablen zu deklarieren, was hilft, Fehler in der Programmierung zu vermeiden.

FAQ: Häufige Fragen

1. Wie aktiviere ich eine Checkbox in einer anderen Arbeitsmappe?
Um eine Checkbox in einer anderen Arbeitsmappe zu aktivieren, musst du den Dateinamen und den Arbeitsblattnamen korrekt angeben, wie im folgenden Beispiel:

Workbooks("Mappe2.xls").Sheets("Tabelle1").CheckBox1.Value = CheckBox1.Value

2. Was sind die Unterschiede zwischen ActiveX-Checkboxen und Formularsteuerelementen?
ActiveX-Checkboxen bieten mehr Anpassungsmöglichkeiten und Flexibilität in VBA, während Formularsteuerelemente einfacher zu verwenden sind und weniger Ressourcen benötigen.

3. Was mache ich, wenn meine Checkbox nicht funktioniert?
Überprüfe, ob der VBA-Code korrekt zugeordnet ist und ob die Checkboxen richtig benannt sind. Achte auch auf Syntaxfehler im Code.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige