Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: per Checkbox Formel eintragen

per Checkbox Formel eintragen
15.02.2021 17:53:38
Gunnar
Hallo Zusammen,
ich habe in ein Tabellenblatt eine Checkbox integriert, die je nach Zustand Werte aus einem _
anderen Tabellenblatt oder Nullwerte anzeigen. Der Code dazu sieht folgendermaßen aus:

Private Sub CheckBox21_Click()
If CheckBox21.Value = True Then Range("C11:N11").Formula = "='P-AIF'!G154:G154"
If CheckBox21.Value = False Then Range("C11:N11").Formula = "=0"
End Sub

Klappt Super, aber wenn ich als Formel eine Summe nehmen will, kommt der Fehler #Name?

Private Sub CheckBox22_Click()
If CheckBox22.Value = True Then Range("C12:N12").Formula = "=SUMME('P-AIF'!G155:G157)"
If CheckBox22.Value = False Then Range("C12:N12").Formula = "=0"
End Sub

Kann mir jemand einen Tip geben, was sich falsch mache?
Vielen Dank im Voraus & viele Grüße
Gunnar
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: per Checkbox Formel eintragen
15.02.2021 17:58:25
Hajo_Zi
Hallo Gunnar,
VBA ist englisch also sum

AW: per Checkbox Formel eintragen
15.02.2021 18:11:30
Gunnar
Hallo Hajo,
danke, die "Summe" war der Fehler.
Jetzt klappt's.
Gruß, Gunnar
AW: per Checkbox Formel eintragen
15.02.2021 18:00:47
Werner
Hallo,
.Formula = englische Formel = SUM und nicht SUMME und wenn erforderlich ist dann auch das Komma das Parametertrennzeichen und nicht das Semikolon
Gruß Werner
Anzeige
AW: per Checkbox Formel eintragen
15.02.2021 18:10:05
Gunnar
Hallo Werner,
danke, die "Summe" war's.
Gruß, Gunnar
Gerne u. Danke für die Rückmeldung. o.w.T.
15.02.2021 18:13:12
Werner
AW: per Checkbox Formel eintragen
15.02.2021 18:21:10
Daniel
Hi
warum machst du das ganze nicht Codefrei?
verknüpfe die Checkbox mit einer Ausgabezelle (z.B. A1 oder jede andere freie Zelle) und schreibe in die Zellen C11:N11 die Formel:
=WENN($A$1;SUMME('P-AIF'!G155:G157);0)
wenn du mit Makro arbeiten willst, dann vielleicht folgendes dein VBA zu verbessern:
beim Abfragen einer Checkbox kannst du dir das .Value = True/False auch sparen.
der Checkbox-Value ist ja schon TRUE oder FALSE das kann man im Code auch direkt verwenden.
außerdem ist es hier besser, einen kombinieten IF-Block zu erstellen ansatt zwei einzelne:
die WITH-Klammer hilft dabei, so dass man den Zellbereich nicht wiederholen muss:
Private Sub CheckBox21_Click()
with Range("C11:N11")
If CheckBox21.Formula then
.Formula = "=Sum('P-AIF'!G154:G157)"
else
.Formula = "=0"
End with
End Sub
Freunde von kurzem Code greifen hier auch gerne auf IIF zurück
Private Sub CheckBox21_Click()
Range("C11:N11").Formula = IIF(Checkbox21.Value, "=Sum('P-AIF'!G154:G157)", "=0")
End Sub
dass bei .Formula die Formel in englischer Schreibweise, dh mit englischem Funktionsnamen und bei mehreren Parametern einer Funktion mit dem Komma als Parametertrennzeichen gearbeitet werden muss, wurde ja schon erwähnt.
Wenn du lieber mit deutschen Formeln arbeitest, kannst du auch .FormulaLocal anstelle von .Formula verwenden.
Allerdings funktioniert dein Makro nur mit deutschen Excelversionen.
Gruß Daniel
Anzeige
AW: per Checkbox Formel eintragen
15.02.2021 21:03:26
Gunnar
Hallo Daniel,
danke für die Lösungsvorschläge.
Insbesondere der Hinweis mit FormulaLocal war nochmal sehr hilfreich, weil ich damit schon oft gearbeitet habe, aber bei der Bewältigung dieser Aufgabe von partieller Amnesie geplagt war. ;-)
Gruß, Gunnar
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige