Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Fehler bei Formel per Makro in Zelle eintragen

Fehler bei Formel per Makro in Zelle eintragen
23.10.2008 10:15:00
Born
Hallo Forum,
ich habe folgendes Problem:
Ich schreibe per Makro in Zellen eine Formel. Als Ergebnis bekomme ich jedoch nur die Fehlermeldung #NAME?. Wenn ich dann mit F2 in den Bearbeiten-Modus gehe und Enter drücke, kommt das richtige Ergebnis. Meine Formel scheint also richtig zu sein. Auch mit der Formelauswertung in der Detektivsymbolleiste bekomme ich die Fehlermeldung.
Hier die VBA-Befehle:
For i = 1 To Anz_Fragen
Cells(2 * i + 1, 3 + Anz_Fragen).Formula = "=ZÄHLENWENN(C2:" & Chr(65 + Anz_Fragen + 1) & 2 * Anz_Fragen & "," & Right("0" & i, 2) & ")"
Next
Und hier das (gewünschte) Ergebnis:
=ZÄHLENWENN(C2:M22;1)
Wie bekomme ich es hin, dass die Formel sofort angezeigt wird?
Vielen Dank im Voraus,
M. Born
Anzeige
AW: Fehler bei Formel per Makro in Zelle eintragen
23.10.2008 10:28:00
Chris
Servus,
woran das liegt weiß ich selbst nicht. Per makro beheben lässt sich das so:
Cells(2 * i + 1, 3 + Anz_Fragen).Select
Application.SendKeys "{F2}", True
Application.SendKeys "{Enter}", True
einfach anhängen, müsste funktionieren.
Gruß
Chris
AW: Fehler bei Formel per Makro in Zelle eintragen
23.10.2008 10:35:00
Born
Hallo Chris,
vielen Dank für den Workaround. Die Idee hatte ich auch schon, aber mich würde auch der Grund interessieren, warum die Formel nicht sauber interpretiert wird. Vielleicht erzeugt das Ganze ja noch weitere Effekte, die mir bisher noch nicht aufgefallen sind. Wenn also jemand anderes noch eine Lösung hat, immer her damit.
Viele Grüße,
M. Born
Anzeige
AW: Fehler bei Formel per Makro in Zelle eintragen
23.10.2008 10:33:00
David
Hallo M.
Wenn du deine Formel in der deutschen Schreibweise (z. Bsp. ZÄHLENWENN) eintragen willst, ist dafür normalerweise .FormulaLocal zuständig. Bei .Formula wäre COUNTIF richtig.
Vielleicht ist das ja schon das Problem.
Gruß
David
AW: Fehler bei Formel per Makro in Zelle eintragen
23.10.2008 10:35:19
Erich
Hallo M.,
der Fehler entsteht, weil VBA englisch arbeitet. Bei FormulaLocal kannst du Formeln deutsch schreiben.
Probier mal
Cells(2 * i + 1, 3 + Anz_Fragen).Formula = _
"=COUNTIF(C2:" & Chr(65 + Anz_Fragen + 1) & 2 * Anz_Fragen & "," & Right("0" & i, 2) & ")"
oder
Cells(2 * i + 1, 3 + Anz_Fragen).FormulaLocal = _
"=ZÄHLENWENN(C2:" & Chr(65 + Anz_Fragen + 1) & 2 * Anz_Fragen & ";" & Right("0" & i, 2) & ")"
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
P.S.: Von SendKeys würde ich hier die Finger lassen...
Anzeige
AW: Fehler bei Formel per Makro in Zelle eintragen
23.10.2008 10:44:11
Born
Hallo David und Erich,
ich habe Euren Vorschlag mal probiert, bekomme dann aber einen "Anwedungsfehler". Auch mein bisheriger Code und anschließend:
Cells(2 * i + 1, 3 + Anz_Fragen).FormulaLocal = Cells(2 * i + 1, 3 + Anz_Fragen).Formula
hilft nicht weiter. Ich habe auch probiert, die Zelle zu kopieren und die Formel per Pastespecial einzutragen, aber weiterhin die Name-Fehlermeldung. Irgendwie werde ich aus dem Ganzen nicht schlau....
Viele Grüße,
M. Born
Anzeige
AW: Fehler bei Formel per Makro in Zelle eintragen
23.10.2008 10:54:00
Erich
Hi M.,
probier mal auf einem leeren Tabellenblatt:

Sub tst()
Dim i As Long, Anz_Fragen As Long
Anz_Fragen = 5     ' nur ein Beispiel
For i = 1 To Anz_Fragen
Cells(2 * i + 1, 3 + Anz_Fragen).Formula = _
"=COUNTIF(C2:" & Chr(65 + Anz_Fragen + 1) & 2 * Anz_Fragen & _
"," & Right("0" & i, 2) & ")"
'oder
'   Cells(2 * i + 1, 3 + Anz_Fragen).FormulaLocal = _
"=ZÄHLENWENN(C2:" & Chr(65 + Anz_Fragen + 1) & 2 * Anz_Fragen & _
";" & Right("0" & i, 2) & ")"
Next i
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Fehler bei Formel per Makro in Zelle eintragen
23.10.2008 11:00:00
Born
Hallo Erich,
komischerweise funktioniert Deine erste Formel. Warum er die deutsche Version nicht kennt, wird wohl immer ein Rätsel von Billy bleiben.
Vielen Dank,
M. Born
AW: Fehler bei Formel per Makro in Zelle eintragen
23.10.2008 11:04:00
Erich
Hallo M.,
auch die deutsche Version funzt - das ist keines von Bills Geheimnissen...

Sub tst()
Dim i As Long, Anz_Fragen As Long
Anz_Fragen = 5
For i = 1 To Anz_Fragen
Cells(2 * i + 1, 3 + Anz_Fragen).FormulaLocal = _
"=ZÄHLENWENN(C2:" & Chr(65 + Anz_Fragen + 1) & 2 * Anz_Fragen & _
";" & Right("0" & i, 2) & ")"
Next i
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Fehler bei Formel per Makro in Zelle eintragen
23.10.2008 10:55:00
David
Hallo M.
diese beiden Varianten funzen beide in meinem Test:

Cells(2 * i + 1, 3 + Anz_Fragen).FormulaLocal =
"=zählenwenn(C2:" & Chr(65 + Anz_Fragen + 1) & 2 * Anz_Fragen & ";" & Right("0" & i, 2) & ")" _
Cells(2 * i + 1, 3 + Anz_Fragen).Formula =
"=countif(C2:" & Chr(65 + Anz_Fragen + 1) & 2 * Anz_Fragen & "," & Right("0" & i, 2) & ")"


Das Problem war, dass bei FormulaLocal hinten ein Semikolon stehen muss und bei Formula ein Komma. Dies wird auch durch die englische Schreibweise bedingt.
Gruß
David

Anzeige
AW: Fehler bei Formel per Makro in Zelle eintragen
23.10.2008 11:01:54
Born
Hallo David,
vielen Dank. Das könnte die Ursache sein.
Viele Grüße,
M. Born

Forumthreads zu verwandten Themen

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