Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen

Methode zur serienmäßigen Erst. von Kontrollkäst.

Betrifft: Methode zur serienmäßigen Erst. von Kontrollkäst. von: Stephan
Geschrieben am: 08.09.2014 10:50:47

Hallo zusammen,
ich habe eine Tabelle mit mehreren Spalten(14) und möchte nun in jede Zelle ein Kontrollkästchen einfügen, welches beim Anklicken die dahinter liegende Zelle färbt. Das ist ansich kein Problem. Ich versuche nun aber eine Methode zu erstellen, die mir für sämtliche Zeilen eins solches Kontrollkästchen automatisch einfügt.

Für eine jeweilige Zelle benutze ich folgenden Code:

Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
Range("D2").Interior.ColorIndex = 4
Else
Range("D2").Interior.ColorIndex = 3
End If
End Sub

Es ist ziemlich mühsam für jede Zelle eine eigene Methode zu schreiben. Das lässt sich doch bestimmt schneller lösen, da meine Tabelle etliche Zeilen hat?

Vielen Dank!!
Stephan

  

Betrifft: warum willst Du Dir das antun? von: Matthias L
Geschrieben am: 08.09.2014 11:04:35

Hallo

Pro Zelle ein eigenes Objekt? Das bläht doch nur die Datei auf.
Benutz doch einfach den Doppelklick um wechselseitig die Farbe zu ändern.

Gruß Matthias


  

Betrifft: AW: Methode zur serienmäßigen Erst. von Kontrollkäst. von: Daniel
Geschrieben am: 08.09.2014 11:16:48

Hi
den Doppelklick würde ich hier auch bevorzugen.
wenns unbedingt ne Checkbox sein soll, dann solltest du so vorgehen:

1. schreibe folgenden Code in ein allgemeines Modul:

Sub Färben()
With ActiveSheet.Shapes(Application.Caller)
    If .OLEFormat.Object.Value = 1 Then
        .TopLeftCell.Interior.ColorIndex = 4
    Else
        .TopLeftCell.Interior.ColorIndex = 3
    End If
End With
End Sub
2. Erstelle die Checkbox nicht als ActiveX-Steuerelement, sondern als Formular-Steuerelement

3. weise dann der Checkbox diesen Code aus dem allgemeninen Modul zu.
der Code fragt ab, welches Steuerelement ihn aufgerufen hat und färbt die Zelle, in welcher sich die linke obere Ecke es Steuerelements befindet.
Das zuweisen des Codes erfolg über eine dieser Methoden:
- beim Erstellen von Hand über das Kontextmenü - Makro zuweisen
- beim Erstellen per Makro mit dem Befehl .OnAction "Makroname"
- beim Kopieren des Steuerelements wird die Verknüpfung zum Makro mit kopiert

das Makro kannst dann für alle Checkboxen verwenden.

Gruß Daniel


 

Beiträge aus den Excel-Beispielen zum Thema "Methode zur serienmäßigen Erst. von Kontrollkäst."