Microsoft Excel

Herbers Excel/VBA-Archiv

Code umstellen

Betrifft: Code umstellen von: Lars
Geschrieben am: 22.10.2014 12:33:02

Hi Leute
ich hab ja da einen code mit dem ich eine Formel in eine Zelle schreiben kann. Jetzt meine Frage? Kann man den Code so umstellen das wenn ich ein Kontrollkästchen benutze und das Häckchen setze das die Formel in die Bestimmte Zelle geschrieben wird und wenn ich das Häckchen entferne die Formel gelöscht wird. Bitte um hilfe.

mfg Lars

Zum einfügen:

Sub Schaltfläche6_Klicken()
Sheets("Listen").Range("C16").FormulaR1C1 = "=DATEVALUE(""31.12.""&R[-15]C[-1])"
End Sub
Zum Löschen:
Sub Schaltfläche7_Klicken()
Sheets("Listen").Range("C16").ClearContents
End Sub

  

Betrifft: AW: Code umstellen von: {Boris}
Geschrieben am: 22.10.2014 12:44:07

Hi Lars,

nimm ein Kontrollkästchen aus den Formularelementen.
Die Zellverknüpfung liegt in meinem Beispiel in E1 - das musst Du halt anpassen.
Dazu diesen Code:

Sub Kontrollkästchen1_BeiKlick()
If Range("E1") Then
    Sheets("Listen").Range("C16").FormulaR1C1 = "=DATEVALUE(""31.12.""&R[-15]C[-1])"
Else
    Sheets("Listen").Range("C16").ClearContents
End If
End Sub
VG, Boris


  

Betrifft: AW: Code umstellen von: Lars
Geschrieben am: 22.10.2014 16:48:23

Hi
die Formel wird nur entfernt und nicht mehr eingefügt. Warum?

mfg Lars


  

Betrifft: AW: Code umstellen von: {Boris}
Geschrieben am: 22.10.2014 17:10:36

Hi Lars,

kann ich Dir leider nicht sagen, ohne Deinen konkreten Versuch zu kennen...
Lad doch mal Deine Beispielmappe hoch.

VG, Boris


  

Betrifft: AW: Code umstellen von: Lars
Geschrieben am: 22.10.2014 17:20:32

Hi
jetzt geht in der Beispielmappe garnix mehr.

mfg Lars

https://www.herber.de/bbs/user/93294.xls


  

Betrifft: AW: Code umstellen von: {Boris}
Geschrieben am: 22.10.2014 17:38:15

Hi Lars,

Du musst die Kontrollkästchen auch mit einer Zelle verknüpfen. Am Beispiel Sylvester: Mach einen Rechtsklick drauf, Steuerelement formatieren, und gib dort unter Verknüpfung H20 ein.

Dazu dieser Code:

Sub Kontrollkästchen1_Klicken()
If Range("H20") Then
    Sheets("Listen").Range("C18").FormulaR1C1 = "=DATEVALUE(""31.12.""&R[-17]C[-1])"
Else
    Sheets("Listen").Range("C18").ClearContents
    End If
End Sub
Falls Dir H20 nicht passt, dann änder das auf Deine Wünsche ab (sowohl bei der Zellverknüpfung als auch im Code).

VG, Boris


  

Betrifft: AW: Code umstellen von: Lars
Geschrieben am: 23.10.2014 11:05:49

Hallo
ich hab noch ein kleines problem. Die Kontrollkästchen sind in einer anderen Tabelle die ausgeblendet ist und ich kann sie nur Aktivieren wenn die Kontrollkästchen in der selben Tabelle sind. Was kann man da machen?

mfg Lars
https://www.herber.de/bbs/user/93307.xls


  

Betrifft: AW: Code umstellen von: Lars
Geschrieben am: 23.10.2014 11:28:56

Hallo
ich hab noch ein kleines problem. Die Kontrollkästchen sind in einer anderen Tabelle die ausgeblendet ist und ich kann sie nur Aktivieren wenn die Kontrollkästchen in der selben Tabelle sind. Was kann man da machen?

mfg Lars
https://www.herber.de/bbs/user/93307.xls


  

Betrifft: AW: Code umstellen von: {Boris}
Geschrieben am: 23.10.2014 12:32:30

Hi Lars,

Du hast das mit der Zellverknüpfung der Kontrollkästchen offensichtlich nicht ganz verstanden.
Diese verknüpfte Zelle ist irgendeine LEERE Zelle, die mit Deinen bisherigen Werten in Deiner Mappe überhaupt nix zu tun hat! Da geht es nur darum, dass dann dort der Wert (WAHR oder FALSCH) des Kontrollkästchens wiedergegeben wird.
Und genau DIESER Wert in genau DIESER Zelle wird dann als allererstes im Makro abgefragt.

VG, Boris


  

Betrifft: AW: Code umstellen von: Lars
Geschrieben am: 23.10.2014 14:21:22

Hi
wenn ich eine Leere Zelle benutze passiert bei mir nix aber wenn ich die Zelle benutze wo der Wert reingeschrieben wird klappt es ja wenn das Kontrollkästchen in der gleichen Tabelle ist. Wenn das Kontrollkästchen in einer andern Tabelle ist bekomm ich das nicht hin. Sorry aber ich steh bestimmt kommplett auf dem Schlauch.

mfg Lars


  

Betrifft: AW: Code umstellen von: Lars
Geschrieben am: 23.10.2014 15:12:00

Hi
wenn ich eine Leere Zelle benutze passiert bei mir nix aber wenn ich die Zelle benutze wo der Wert reingeschrieben wird klappt es ja wenn das Kontrollkästchen in der gleichen Tabelle ist. Wenn das Kontrollkästchen in einer andern Tabelle ist bekomm ich das nicht hin. Sorry aber ich steh bestimmt kommplett auf dem Schlauch.

mfg Lars


  

Betrifft: AW: Code umstellen von: {Boris}
Geschrieben am: 23.10.2014 15:18:54

Hi Lars,

nochmal bezogen auf Dein Sylvester-Kontrollkästchen:

Rechtsklick drauf, Steuerelement formatieren, Zellverknüpfung A2

Und dazu gehört dann dieser Code:

Sub Kontrollkästchen1_Klicken()
If Range("A2") Then
    Sheets("Listen").Range("C18").FormulaR1C1 = "=DATEVALUE(""31.12.""&R[-17]C[-1])"
Else
    Sheets("Listen").Range("C18").ClearContents
    End If
End Sub
Das Kontrollkästchen heißt zwar "Kontrollkästchen 3" - aber Du kannst ihm den Code von "Kontrollkästchen 1" problemlos zuweisen.

VG, Boris


  

Betrifft: AW: Code umstellen von: Lars
Geschrieben am: 23.10.2014 15:47:10

Hi
so hast du das gemeint. Sorry hab voll auf dem Schlauch gestanden. Aber vielen vielen dank für deine hilfe und das du soviel geduld mit mir hattest. Danke klappt jetzt alles.

mfg Lars


  

Betrifft: Alles gut :-) oT von: {Boris}
Geschrieben am: 23.10.2014 16:16:11

VG, Boris


 

Beiträge aus den Excel-Beispielen zum Thema "Code umstellen"