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

Forumthread: FormulaLocal

FormulaLocal
22.04.2020 17:03:58
JErry
Hallo,
Ich komme mit den Anführungszeichen bei FormulaLocal nicht klar.
Ich will folgende simple Formel in FormulaLocal umwandeln:
=WENN(K15>0;"OUT";"")<br><br>~f~
<br><br>
Dim wr As String<br><br>
<br><br>
wr="EUR"<br><br>
zusätzlich soll nach "OUT" "EUR" stehen<br><br>
<br><br>
~f~
Range("K24").FormulaLocal = "=WENN(" & Range("K13").AddressLocal(ColumnAbsolute:=False, RowAbsolute:=False) & ">0;""FOR 0 @""" & wr & ";"""")"<br><br>
Vielen Dank für Eure Hilfe
Jerry
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: FormulaLocal
22.04.2020 17:20:07
onur
Statt die Formel direkt einzutragen, solltest du sie vorher in eine Stringvariable speichern, dann siehst du sofort, was tatsächlich dabei rauskommt.
AW: FormulaLocal
23.04.2020 09:32:58
JErry
Dannke für Deinen Hinweis, onur
Das war wirklich ein guter Tipp, habe alles in einzelne Stringvariablen zerlegt, angesehen und zusammengesetzt, Super!
Anzeige
AW: FormulaLocal
22.04.2020 17:44:22
JErry
Danke, Chris
Ich hab mir deine Beispiele genau angesehen, komme aber in meiner Formel trotzdem nicht klar.
Kannst Du mir bitte den Fehler sagen!
Herzlcihen Dank
Jerry
AW: FormulaLocal
22.04.2020 17:57:23
ChrisL
Mach mal bitte ein Beispiel, wie die Formel im Endresultat korrekterweise aussehen soll...
AW: FormulaLocal
23.04.2020 09:34:25
JErry
Vielen Dank, Chris, habs geschafft indem ich die ganze Formel in einzelne Stringvariablen zerlegt habe, diese dann überprüft habe, und dann zusammen gesetzt
Anzeige
AW: FormulaLocal
22.04.2020 18:26:45
Daniel
HI
ich mach das bei komplexen Formeln immer so:
1. Formel von Hand funktionsfähig in die Zelle schreiben
2. Formel in der gewünschten Ausführungsart im Direktfenster anzeigen lassen, dabei gleich die Anführungszeichen in der Formel doppeln:
?Replace(Selection.FormulaLocal, """"", """""")

"=WENN(K13>0;""FOR 0 @EUR"";"""")"
3. Formeltext kopieren und in den Code übernehmen. Dabei den Formeltext einer Stringvariablen zuweisen.
FO = "=WENN(K13>0;""FOR 0 @EUR"";"""")"
4. in dem Formeltext die Formelbestandteile, die durch eine Variable gebildet werden sollen, durch einen DummyText ersetzen, dieser Dummy-Text darf an regulär in der Formel nicht vorkommen z.B.
FO = "=WENN(_Adr_>0;""FOR 0 @_WR_"";"""")"
5. die Dummy-Texte durch den berechneten Wert oder die Variable ersetzen und dann die Formel der Zelle zuweisen:
FO = "=WENN(_Adr_>0;""FOR 0 @_WR_"";"""")"
FO = Replace(FO, "_WR_", wr)
FO = Replace(FO, "_Adr_", Range("K13").AddressLocal(ColumnAbsolute:=False, RowAbsolute:=False))
Range("K24").FormulaLocal = FO

damit hat man dann auch längere Formeln mit vielen Variablen Bestandteilen ganz gut im Griff.
zu deinem Fehler:
da fehlen die Anführungszeichen in der Formel nach dem wr. vor dem wr hast du insgesamt 3 Anführungszeichen, also müssen es nach dem wr auch drei sein.
Gruß Daniel
Anzeige
AW: FormulaLocal
23.04.2020 09:36:38
JErry
Vielen Dank, Daniel
Hervorrageend!!!
Gruss
Jerry
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

FormulaLocal in Excel VBA optimal nutzen


Schritt-für-Schritt-Anleitung

Um eine Formel mit FormulaLocal in Excel VBA korrekt zu verwenden, folge diesen Schritten:

  1. Formel vorbereiten: Schreibe die Formel zuerst manuell in eine Zelle, um sicherzustellen, dass sie funktioniert.
  2. Formel in String speichern: Speichere die Formel in einer String-Variable, um die Anführungszeichen zu überprüfen und Anpassungen vorzunehmen.
    Dim FO As String
    FO = "=WENN(K13>0;""FOR 0 @EUR"";"")"
  3. Anführungszeichen anpassen: Stelle sicher, dass alle Anführungszeichen in der Formel korrekt sind. In einer VBA-Umgebung musst du Anführungszeichen verdoppeln.
  4. Formel mit Variablen erstellen: Verwende Platzhalter für Variablen in der Formel und ersetze diese später. Beispiel:
    FO = "=WENN(_Adr_>0;""FOR 0 @_WR"";"")"
    FO = Replace(FO, "_WR_", wr)
    FO = Replace(FO, "_Adr_", Range("K13").AddressLocal(ColumnAbsolute:=False, RowAbsolute:=False))
  5. Formel zuweisen: Setze die finale Formel in die Zelle ein:
    Range("K24").FormulaLocal = FO

Häufige Fehler und Lösungen

  • Fehler: Anführungszeichen falsch gesetzt
    Lösung: Überprüfe die Anzahl der Anführungszeichen. Bei der Verwendung von FormulaLocal müssen Anführungszeichen verdoppelt werden.

  • Fehler: Formel wird nicht erkannt
    Lösung: Stelle sicher, dass deine Formel syntaktisch korrekt ist. Teste sie zuerst in einer Zelle in Excel.


Alternative Methoden

Eine alternative Methode zur Verwendung von FormulaLocal ist die direkte Eingabe über das Excel-Direktfenster. Du kannst die Formel auch direkt in eine Zelle schreiben und dann den VBA-Code anpassen, um die Formel bei Bedarf dynamisch zu ändern.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du FormulaLocal in Excel VBA nutzen kannst:

  1. Einfache Wenn-Bedingung:

    Dim FO As String
    FO = "=WENN(A1>5;""Mehr als 5"";""Weniger oder gleich 5"")"
    Range("B1").FormulaLocal = FO
  2. Verwendung von Variablen:

    Dim wr As String
    wr = "EUR"
    Dim FO As String
    FO = "=WENN(K15>0;""OUT " & wr & ""; """")"
    Range("K24").FormulaLocal = FO

Tipps für Profis

  • Zerlege komplexe Formeln in kleinere Teile und teste jeden Teil einzeln.
  • Nutze das Direktfenster, um die Formel in einem lesbaren Format zu sehen:
    ?Replace(Selection.FormulaLocal, """"", """""")
  • Verwende benannte Bereiche, um deine Formeln übersichtlicher zu gestalten.

FAQ: Häufige Fragen

1. Was ist FormulaLocal in Excel VBA?
FormulaLocal ist eine Methode in Excel VBA, um Formeln zu setzen, die in der lokalisierten Sprache von Excel interpretiert werden.

2. Wie gehe ich mit Anführungszeichen in Formeln um?
In VBA musst du Anführungszeichen in Formeln verdoppeln. Zum Beispiel wird "" zu """" in VBA.

3. Kann ich FormulaLocal auch in Excel Online verwenden?
FormulaLocal ist spezifisch für die Desktop-Version von Excel und funktioniert nicht in Excel Online.

4. Wie kann ich eine Formel debuggen, wenn sie nicht funktioniert?
Speichere die Formel in einer String-Variable und gib sie im Direktfenster aus, um sicherzustellen, dass sie korrekt ist.

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