Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1256to1260
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Check Box mit 2 Makros verbinden
Jenny
Hi Ihr,
ich habe noch eine Frage an die Ex(cel)perten: :-)
Ich habe ein Tabellenblatt mit einer Checkbox ("Check Box 23"), der ich ein Makro zugewiesen habe.
Das klappt soweit gut wenn ich die Checkbox markiere, d.h. den Haken setze und das Makro läuft wie gewünscht.
Wie schaffe ich es, dass beim erneuten anklicken, d.h. beim Entfernen des Hakens das gleiche Makro einen Schritt ändert ? Muss ich dazu im Makro eine If Then Schleife einbauen und wenn ja, worauf beziehe ich mich hier ?
Momentan schreibt das Makro beim Setzen des Hakens in der Checkbox den Wert 1 in P3.
Wenn der Haken in der Checkbox entfernt wird, soll diese 1 wieder entfernt werden bzw. "" in P3 eingetragen werden.
LG und vielen Dank im Voraus für jeden Tipp,
Jenny
AW: Check Box mit 2 Makros verbinden
10.04.2012 11:07:27
Rudi
Hallo,
Schema:
Sub xxxx()
If Shapes("Check Box 1").DrawingObject.Value = 1 Then
Range("A1") = "x"
Else
Range("A1") = ""
End If
End Sub

Gruß
Rudi
AW: Check Box mit 2 Makros verbinden
10.04.2012 11:22:50
Jenny
Hallo Rudi,
vielen Dank !
Ich habe es wie unten probiert, hier scheint sich VBA aber an dem Code-Teil "Shapes" zu stoßen, da es nicht funktioniert und im Debugger an diese Stelle springt.
Habe ich etwas übersehen ?
If Shapes("Check Box 23").DrawingObject.Value = 1 Then
Range("P3").FormulaR1C1 = "1"
Else
Range("P3").FormulaR1C1 = ""
End If
LG
Jenny
Anzeige
AW: Check Box mit 2 Makros verbinden
10.04.2012 11:26:39
Rudi
Hallo,
steht der Code in einem normalen Modul? Dann das Worksheet mit angeben.
z.B. If ActiveSheet.Shapes(.....
Gruß
Rudi
AW: Check Box mit 2 Makros verbinden
10.04.2012 12:21:37
Jenny
Hallo Rudi,
vielen Dank !
Auch das klappt (neben dem Vorschlag von Matthias) bestens - mit Deinem Tipp ließ es sich auch ganz leicht in mein Makro integrieren. :-)
LG und danke nochmal - einen schönen Nachmittag,
Jenny
AW: Check Box mit 2 Makros verbinden
10.04.2012 12:27:38
Jenny
Hallo Rudi,
ich habe noch eine kleine Frage an Dich - nur zum Verständnis: :-)
Wann reicht denn allgemein der Code-Teil Range("XX") = "x" und wann muss man nach der Klammer noch das .FormulaR1C1 ergänzen ?
LG
Jenny
Anzeige
FormulaR1C1
10.04.2012 13:31:26
Rudi
Hallo,
.FormulaR1C1 nur, wenn du eine Formel im Z1S1-Format eintragen willst. Bei Werten einfach so zuweisen, da dann die Default-Eigenschaft VALUE gesetzt wird.
Siehe auch Eigenschaften des Range-Objekts in der Hilfe.
Gruß
Rudi
AW: FormulaR1C1
10.04.2012 13:34:32
Jenny
Hallo Rudi,
vielen Dank - das ist super !
Jetzt verstehe ich es endlich. ;-)
LG
Jenny
CheckBox23_Click() reicht da schon
10.04.2012 11:14:38
Matthias
Hallo
Checkbox (ActiveX-Steuerelement)
Private Sub CheckBox23_Click()
Range("P3") = IIf(Tabelle1.CheckBox23, 3, "")
End Sub
https://www.herber.de/bbs/user/79719.xls
Gruß Matthias
Anzeige
AW: CheckBox23_Click() reicht da schon
10.04.2012 12:20:17
Jenny
Hallo Matthias,
vielen Dank dafür - das es auch so einfach geht, hätte ich nicht gedacht. :-)
Das klappt bestens !
LG und einen schönen Nachmittag noch,
Jenny
AW: CheckBox23_Click() reicht da schon
10.04.2012 13:10:55
Jenny
Hallo Matthias,
beim Umsetzen deines Vorschlages hat sich bei mir noch ein kleines Problem ergeben:
Da die Bezeichnung meiner Checkbox von Excel aus Leerzeichen enthält, klappt es mit dem Code von Dir nicht.
Die korrekte Bezeichnung der Checkbox ist "Check Box 23".
Ich habe es wie folgt probiert:
Private Sub CheckBox23_Click()
Range("P3") = IIf(ActiveSheet.Shapes("Check Box 23"), 1, "")
End Sub
Hast Du eine Idee dazu ? :-)
LG
Jenny
Anzeige
AW: CheckBox23_Click() reicht da schon
10.04.2012 13:18:14
Rudi
Hallo,
du hast kein ActiveX- sondern ein Formular-Steuerelement. Formular-Steuerelemente kennen keine Ereignisprozeduren.
Gruß
Rudi
AW: CheckBox23_Click() reicht da schon
10.04.2012 13:26:40
Jenny
Ah - oh, sorry, Anfänger-Fehler !
Wie kann ich dem Steuerelement dann etwas ähnliches zuweisen ?
Ich bräuchte einfach nur, dass beim Aktivieren, d.h. Haken anzeigen eine 1 in P3 geschrieben wird und beim Deaktivieren nichts, also "".
Das muss doch irgendwie gehen ? :-)
LG
Jenny
AW: CheckBox23_Click() reicht da schon
10.04.2012 13:29:59
Jenny
Hallo Rudi,
ich hab die Lösung gefunden - danke und sorry nochmal ! :-)
ActiveSheet.Unprotect "XXX"
If Range("P3") = 1 Then
Range("P3") = ""
Else
Range("P3") = 1
End If
ActiveSheet.Protect UserInterfaceOnly:=True, Password:="XXX"
LG
Jenny
Anzeige
AW: CheckBox23_Click() reicht da schon
10.04.2012 13:34:29
Reinhard
Hallo Jenny,
With ActiveSheet
.Unprotect "XXX"
.Range("P3") = IIf(.Range("P3") = 1, "", 1)
.Protect UserInterfaceOnly:=True, Password:="XXX"
End With

Gruß
Reinhard
AW: CheckBox23_Click() reicht da schon
10.04.2012 13:44:31
Jenny
Hallo Reinhard,
auch das klappt super - vielen Dank ! :-)
LG und einen schönen Nachmittag,
Jenny

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige