Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1016to1020
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
Inhaltsverzeichnis

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

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
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
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

363 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige