Clever-Excel-Forum

Normale Version: Anhakfeld auf Veränderungen überwachen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
hi, ich habe ein Anhakfeld in einer Tabelle. Und das Zielfeld ebenfalls in dieser Tabelle auf Feld Z1.

Ich möchte nun überprüfen, ob eine Änderung am Anhakfeld stattgefunden hat per VBA. Also nicht, ob Feld Z1 danach WAHR oder FALSCH ist, sondern ob aktuell etwas verändert wurde am Status des Anhakfeldes.


So sieht mein Codeversuch aus:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("Z1")) Is Nothing Then
  MsgBox "klappt"
End If
End Sub


Jedoch kommt die MsgBox nicht, wenn ich ein Häkchen in das Anhakfeld setzte oder wegnehme. Zelle Z1 ändert sich auf WAHR bzw. FALSCH. Warum?

lieben Dank

Julia :)
Hallo Julia,

Anhakfeld? Du meinst wohl eher eine CheckBox? Aus welcher Leiste hast Du es in die Tabelle eingefügt? Aus der Formularbox oder der Steuerelementebox?
über Entwicklertools>Einfügen>Formularsteuerelemente
Also wenn ich das richtig lese will Sie eigentlich ein ActiveX-Steuerlement nutzen?

Zitat:ob eine Änderung am Anhakfeld stattgefunden hat per VBA. Also nicht, ob Feld Z1 danach WAHR oder FALSCH

Glaube das geht nicht mit den anderen oder?!
Hallo,

beide lösen kein Ereignis der Tabelle aus.
Die ActiveX haben aber ihre eigenen Ereignisprozeduren.
Korrekt, aber ActiveX kann man überwachen OHNE zu schauen ob A1 oder was auch immer FAlSE oder TRUE ist.
So wie gewünscht wenn ich das richtig lese!
Hallo Basisa,

das geht beiden.
Bei dem Einen einfacher und beim Anderen etwas aufwendiger.
Kannst du es grob erklären ^^
Also für das normale Steuerelement.
Damit ich nicht ganz doof sterbe!
Hallo,

wer denkt denn sofort ans Sterben.


Code:
Sub CHECK_klick()
 If ActiveSheet.Shapes("Kontrollkästchen 1").ControlFormat.Value = xlOn Then
   MsgBox "HÄKCHEN DRIN"
 Else
   MsgBox "HÄKCHEN RAUS"
 End If
End Sub


Obigen Code als Makro dem Kontrollkästchen zuweisen
Hiii danke...
Habe mal das Inet durchforstet!

So bekommt man die Namen raus (oder was auch immer man möchte):
Code:
Sub NameKontrollkästchen()
  Dim cbbElement As Variant
  For Each cbbElement In Worksheets("Tabelle1").CheckBoxes
     MsgBox cbbElement.Name
  Next cbbElement
End Sub

Nach viel herum experimentieren habe ich auch das hinbekommen :D
Code:
Sub KontrollkästchenJaNein()
    If CheckBoxes(1).Value = 1 Then
        MsgBox "Aktiv"
    Else
        MsgBox "Deaktviert"
    End If
End Sub
Wenn man nur > CheckBoxes.Value = True schreibt werden ALLE auf True gesetzt ^^
Seiten: 1 2 3