Registriert seit: 08.07.2016
Version(en): 2016
01.03.2017, 20:48
(Dieser Beitrag wurde zuletzt bearbeitet: 01.03.2017, 20:48 von o0Julia0o.)
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 :)
Registriert seit: 11.04.2014
Version(en): Office 2007
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?
Gruß Stefan
Win 10 / Office 2016
Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:1 Nutzer sagt Danke an Steffl für diesen Beitrag 28
• o0Julia0o
Registriert seit: 08.07.2016
Version(en): 2016
01.03.2017, 21:15
(Dieser Beitrag wurde zuletzt bearbeitet: 01.03.2017, 21:15 von o0Julia0o.)
über Entwicklertools>Einfügen>Formularsteuerelemente
Registriert seit: 14.02.2017
Version(en): Office 365
01.03.2017, 21:32
(Dieser Beitrag wurde zuletzt bearbeitet: 01.03.2017, 21:32 von Basisa.)
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?!
Registriert seit: 14.04.2014
Version(en): 2003, 2007
Hallo,
beide lösen kein Ereignis der Tabelle aus.
Die ActiveX haben aber ihre eigenen Ereignisprozeduren.
Gruß Atilla
Registriert seit: 14.02.2017
Version(en): Office 365
01.03.2017, 22:03
(Dieser Beitrag wurde zuletzt bearbeitet: 01.03.2017, 22:03 von Basisa.)
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!
Registriert seit: 14.04.2014
Version(en): 2003, 2007
Hallo Basisa,
das geht beiden.
Bei dem Einen einfacher und beim Anderen etwas aufwendiger.
Gruß Atilla
Registriert seit: 14.02.2017
Version(en): Office 365
Kannst du es grob erklären ^^
Also für das normale Steuerelement.
Damit ich nicht ganz doof sterbe!
Registriert seit: 14.04.2014
Version(en): 2003, 2007
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
Gruß Atilla
Registriert seit: 14.02.2017
Version(en): Office 365
01.03.2017, 22:28
(Dieser Beitrag wurde zuletzt bearbeitet: 01.03.2017, 22:38 von Basisa.)
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 ^^