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

Forumthread: Excel fügt "@" in Formel hinzu (FormulaLocal)

Excel fügt "@" in Formel hinzu (FormulaLocal)
07.09.2020 11:36:33
Moritz
Hallo zusammen,
wenn ich über ein Excel-Makro mittels folgendem Befehl eine Formel in eine Zelle schreibe

Range("AH" & Zeile_Ziel).FormulaLocal = "=SVERWEIS(LINKS(L" & Zeile_Ziel & ";3);WENN(' _
Tabellenblatt'!$B$5:'Tabellenblatt'!$B$62=RECHTS(L" & Zeile_Ziel & ";3);'Tabellenblatt'!$A$5:'Tabellenblatt'!$C$62;““);3)"

kommt folgende Formel in Excel an

=SVERWEIS(LINKS(L20;3);WENN(@'Tabellenblatt'!$B$5:'Tabellenblatt'!$B$62=RECHTS(L20;3);' _
Tabellenblatt'!$A$5:'Tabellenblatt'!$C$62;““);3)

Das "@"-Zeichen in der WENN-Funktion kommt dabei hinzu und macht die Formel unbrauchbar. Sobald ich händisch in der Zelle das "@"-Zeichen entferne funktioniert die Formel wieder.
Warum fügt Excel hier das "@"-Zeichen ein und hat jemand eine Idee, wie ich es hinbekomme, dass dieses nicht mit eingefügt wird?
Vielen Dank bereits im Voraus für Eure Mithilfe.
Moritz
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: hast Du Excel365 im Einsatz? owT
07.09.2020 11:40:00
neopa
Gruß Werner
.. , - ...
AW: hast Du Excel365 im Einsatz? owT
07.09.2020 11:41:02
Moritz
ja Excel365
AW:dann stell ich thread offen, hab kein XL365 owT
07.09.2020 11:43:24
neopa
Gruß Werner
.. , - ...
Anzeige
AW: Excel fügt "@" in Formel hinzu (FormulaLocal)
07.09.2020 11:49:05
Daniel
Hi
aufgrund des Zellbezugs "Tabellenblatt'!$B$5:'Tabellenblatt'!$B$62" in der WENN-Funktion ist das eine Matrixformel.
bei Handeingabe erkennt Excel 365 das automatisch.
bei VBA müsste die Formel wahrscheinlich mit .FormulaArray in die Zelle geschrieben werden.
ober du passt die Formel so an, dass im ersten Parameter der WENN-Funktion kein Zellbereich, sondern ein Einzelwert steht, damit die Formel wieder eine normale Formel ist und keine Matrxiformel mehr.
Gruß Daniel
Anzeige
AW: Excel fügt "@" in Formel hinzu (FormulaLocal)
07.09.2020 12:07:12
peterk
Hallo
Verwende Range.Formula2Local
Peter
AW: Excel fügt "@" in Formel hinzu (FormulaLocal)
07.09.2020 12:16:09
Moritz
Vielen Dank für die Antworten
Range.Formula2Local funktioniert!
;

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

Excel: Was bedeutet das "@"-Zeichen in Formeln?


Schritt-für-Schritt-Anleitung

Wenn Du in Excel eine Formel mit einem Makro erstellst und das "@"-Zeichen in der Formel auftaucht, kann dies zu Verwirrung führen. Hier sind die Schritte, um dieses Problem zu vermeiden:

  1. Verwendung des FormulaLocal-Befehls: Wenn Du eine Formel in eine Zelle einfügen möchtest, benutze den Befehl FormulaLocal. Beispiel:

    Range("AH" & Zeile_Ziel).FormulaLocal = "=SVERWEIS(LINKS(L" & Zeile_Ziel & ";3);WENN('Tabellenblatt'!$B$5:'Tabellenblatt'!$B$62=RECHTS(L" & Zeile_Ziel & ";3);'Tabellenblatt'!$A$5:'Tabellenblatt'!$C$62;"""");3)"
  2. Matrixformeln vermeiden: Achte darauf, dass Du beim Erstellen von WENN-Funktionen nicht einen Zellbereich verwendest, wenn Du nicht möchtest, dass Excel das "@"-Zeichen hinzufügt.

  3. Nutze Formula2Local: Wenn Du das "@"-Zeichen weiterhin bekommst, versuche stattdessen Formula2Local. Dieser Befehl kann helfen, die Formel ohne das "@"-Zeichen zu setzen.

    Range("AH" & Zeile_Ziel).Formula2Local = "=SVERWEIS(...)"

Häufige Fehler und Lösungen

  • Fehler: @ in der Formel: Wenn das "@"-Zeichen automatisch in Deiner Formel erscheint, handelt es sich um ein Indiz für eine Matrixformel.

    • Lösung: Stelle sicher, dass Du keine Zellbereiche in WENN-Funktionen verwendest, es sei denn, Du bist sicher, dass Du eine Matrixformel benötigst.
  • Fehler: Formel funktioniert nicht: Manchmal kann es sein, dass die Formel nicht die gewünschten Ergebnisse liefert.

    • Lösung: Überprüfe die Verwendung von Zellreferenzen und stelle sicher, dass Du die korrekten Excel-Funktionen verwendest.

Alternative Methoden

  1. Direkte Eingabe: Wenn Du die Formel manuell in Excel eingibst, erkennt Excel 365 automatisch, wenn es sich um eine Matrixformel handelt, und fügt das "@"-Zeichen nicht hinzu.

  2. VBA mit FormulaArray: Eine weitere Möglichkeit besteht darin, die Formel als Array-Formel zu setzen, indem Du .FormulaArray verwendest.

    Range("AH" & Zeile_Ziel).FormulaArray = "=SVERWEIS(...)"
  3. Verwenden von Evaluate: Du kannst auch die Evaluate-Methode verwenden, um Formeln zu setzen und das "@"-Zeichen zu vermeiden.


Praktische Beispiele

Hier sind einige Beispiele für Excel-Formeln, die das "@"-Zeichen nicht enthalten:

  • Einfache SVERWEIS-Formel:

    Range("A1").FormulaLocal = "=SVERWEIS(B1;C1:D10;2;FALSCH)"
  • Mit WENN-Funktion ohne Zellbereich:

    Range("A2").FormulaLocal = "=WENN(B1=1; 'Ja'; 'Nein')"

Stelle sicher, dass Du beim Arbeiten mit Formeln in Excel 365 diese Beispiele im Kontext Deiner Daten anwendest.


Tipps für Profis

  • Verstehe das @-Zeichen: Das "@"-Zeichen steht in Excel für den Verweis auf die aktuelle Zeile oder den aktuellen Zellbezug in einer Matrixformel. Vermeide die Verwendung, wenn Du nicht mit Matrixformeln arbeiten möchtest.

  • VBA-Optimierung: Wenn Du häufig mit Excel VBA arbeitest, nutze FormulaLocal und Formula2Local, um die Kompatibilität zwischen verschiedenen Excel-Versionen zu gewährleisten.

  • Testen der Formeln: Bevor Du eine Formel in VBA einfügst, teste sie zuerst direkt in Excel, um sicherzustellen, dass sie wie gewünscht funktioniert.


FAQ: Häufige Fragen

1. Was bedeutet das "@"-Zeichen in Excel-Formeln?
Das "@"-Zeichen in Excel-Formeln signalisiert, dass es sich um eine Matrixformel handelt, die auf eine bestimmte Zeile oder einen bestimmten Bezug verweist.

2. Wie kann ich das "@"-Zeichen in meiner Formel vermeiden?
Vermeide die Verwendung von Zellbereichen in Funktionen wie WENN, um zu verhindern, dass Excel das "@"-Zeichen automatisch hinzufügt. Nutze stattdessen Einzelwerte oder die .Formula2Local-Methode in VBA.

3. Was ist der Unterschied zwischen FormulaLocal und Formula2Local?
FormulaLocal ist für die lokale Sprache von Excel gedacht, während Formula2Local speziell entwickelt wurde, um die Komplexität von Formeln in verschiedenen Excel-Versionen zu handhaben.

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