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

Forumthread: Nach Formel per VBA erscheint "#NAME?"

Nach Formel per VBA erscheint "#NAME?"
15.01.2016 14:18:56
ChrisW
Hallo Leute,
ich habe folgendes Problem.
Ich erstelle per VBA aus einer Tabelle Formeln mit automatischer Summierung über bestimmte Bereiche.
Wenn ich die Formel per VBA in die Zelle schreibe, dann steht dort die richtige Formel z.B. "=SUM($D$339; $D$334)", aber angezeigt wird in der Zelle: "#NAME?"
Erst wenn ich ide Zell anklicke und mit Enter wieder abschließe steht der Wert der Formel in der Zelle z.B. "$ 3.779.790"
Was kann ich machen um die Werte nach der Formel erstellung wieder angezeigt zu bekommen, ohne das ich alle Zellen mit Enter abschließen muss?
Vielen Dank für Eure Hilfe
Chris

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nach Formel per VBA erscheint "#NAME?"
15.01.2016 14:24:00
ChrisL
Hi Chris
Bei Fragen zu VBA Code, bitte auch den VBA Code zeigen :)
.Formula erfordert die englische Schreibweise (im Gegensatz zu .FormulaLocal). Darum Komma statt Strichpunkt verwenden.
cu
Chris

AW: Nach Formel per VBA erscheint "#NAME?"
15.01.2016 14:28:26
UweD
Hallo
Komma statt Semicolon
ActiveCell.Formula = "=SUM($D$339, $D$334)"
oder so
ActiveCell.FormulaLocal = "=SUMME($D$339; $D$334)"
LG UweD

Anzeige
AW: Nach Formel per VBA erscheint "#NAME?"
15.01.2016 14:31:34
Daniel
Hi
wenn du per Makro eine Formel in die Zelle schreibst, dann hast du vier Möglichkeiten, diese Formel zu schreiben:
a) international mit A1-Zellbezüge
b) international mit R1C1-Zellbezügen
c) landestypisch (deutsch) mit A1-Zellbezügen
d) landestypisch (deutsch) mit Z1S1-Zellbezügen
hierbei gilt:
International heißt:
- englische funktionsnamen
- Komma als Parametertrennzeichen
- Punkt als Dezimalzeichen
deutsch heißt:
- deutsche Funktionsnamen
- Semikolon als Parametertrennzeichen
- Komma als Dezimalzeichen
im Code sieht das so aus:
a) international A1: Range(...).Formula = "=SUM($D$339,$D$334)"
b) international R1C1: Range(...).FormulaR1C1 = "=Sum(R339C4,R334C4)"
c) deutsch A1: Range(...).FormulaLocal = "=SUMME($D$339;$D$334)"
d) deutsch Z1S1: Range(...).FormulaR1C1Local = "=Summe(Z339S4;Z334S4)"
entscheidend ist, dass du dich für eine Variante entscheidet, musst du diese auch konsequent beibehalten
wenn du die Formel mit .Value oder ohne explizite Angabe der Schreibweise eingibst, musst du die formel so wie für .Formula schreiben.
Range(...).Value = "=SUM($D$339,$D$334)"
Range(...) = "=SUM($D$339,$D$334)"
Gruß Daniel

Anzeige
AW: Nach Formel per VBA erscheint "#NAME?"
15.01.2016 17:11:11
ChrisW
Ja, vielen Dank, jetzt weiss ich was los war - das Sheet was ich bekommen habe war aus den USA und hatte deshalb nicht die richtigen VBA befehle erkannt.
Vielen Dank
Chris
;

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
Anzeige

Infobox / Tutorial

Formeln per VBA korrekt in Excel einfügen


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Einfügen eines neuen Moduls: Klicke mit der rechten Maustaste auf „VBAProject (DeineDatei.xlsm)“ und wähle „Einfügen“ > „Modul“.
  3. Schreibe den VBA-Code: Füge den folgenden Code in das Modul ein, um eine Formel einzufügen:
    Sub FormelEinfügen()
       ActiveCell.Formula = "=SUM($D$339, $D$334)" ' Englische Schreibweise
       ' Alternativ für deutsche Schreibweise:
       ' ActiveCell.FormulaLocal = "=SUMME($D$339; $D$334)"
    End Sub
  4. Führe das Makro aus: Platziere den Cursor in die Zelle, in der die Formel stehen soll, und führe das Makro mit F5 aus.

Häufige Fehler und Lösungen

  • Fehler: "#NAME?" in der Zelle: Dies passiert, wenn die Formel nicht korrekt erkannt wird. Stelle sicher, dass du die richtige Schreibweise für die Formel verwendest:
    • Verwende .Formula für englische Formeln.
    • Verwende .FormulaLocal für deutsche Formeln.
  • Lösung: Wenn du .Formula verwendest, achte darauf, Kommas statt Semikolons zu verwenden:
    ActiveCell.Formula = "=SUM($D$339, $D$334)"
  • Wenn du die Formel in einer deutschen Excel-Version verwendest, benutze:
    ActiveCell.FormulaLocal = "=SUMME($D$339; $D$334)"

Alternative Methoden

  • Verwendung von .FormulaR1C1: Eine alternative Methode zur Eingabe von Formeln ist die Verwendung der R1C1 Schreibweise:
    ActiveCell.FormulaR1C1 = "=SUM(R339C4, R334C4)"
  • Direktes Schreiben in die Zelle: Du kannst auch direkt den Wert in die Zelle schreiben, ohne die Formel zu verwenden:
    ActiveCell.Value = 3779790

Praktische Beispiele

  • Beispiel für die Eingabe einer Summenformel:
    Sub BeispielSummenformel()
      Range("A1").Formula = "=SUM($D$339, $D$334)"
    End Sub
  • Beispiel für die Verwendung von .FormulaLocal in einer deutschen Excel-Version:
    Sub BeispielSummeDeutsch()
      Range("A1").FormulaLocal = "=SUMME($D$339; $D$334)"
    End Sub

Tipps für Profis

  • Wähle die richtige Schreibweise: Achte darauf, dass du die Schreibweise (englisch oder deutsch) konsequent beibehältst.
  • Verwendung von Variablen: Du kannst Zellreferenzen in Variablen speichern und diese in deinen Formeln verwenden, um den Code übersichtlicher zu gestalten.
    Dim startZelle As String
    startZelle = "$D$339"
    ActiveCell.Formula = "=SUM(" & startZelle & ", $D$334)"

FAQ: Häufige Fragen

1. Was bedeutet der Fehler "#NAME?" in Excel? Dieser Fehler tritt auf, wenn Excel eine Funktion oder einen Namen nicht erkennen kann. Überprüfe die Schreibweise der Formel und stelle sicher, dass die richtige Trennung verwendet wird.

2. Wie kann ich sicherstellen, dass meine VBA-Formeln korrekt ausgeführt werden? Achte darauf, die richtige Schreibweise für die Formeln zu verwenden und die für deine Excel-Version passende Methode (z.B. .Formula oder .FormulaLocal) zu wählen.

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