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

Forumthread: Fehler bei FormulaLocal

Fehler bei FormulaLocal
16.03.2018 15:08:11
Dennis
Hallo Zusammen,
ich schreibe grade ein Auswertungstool für einen Datenbankexport, wobei ich die eingefügte _
Range(A1:BO1271) per Schaltfläche als Tabelle formatiere. Das gleiche Makro soll auch auf _
meinem Berechnungsblatt 4 Felder mit Formeln füllen, was auch zu 50% funktioniert. Probleme _
machen dabei die Formeln die alle überfälligen Prüfungen zählen soll.

Sub Auswertung_Klick()
Call Tabelle_erstellen
Call Datumsformat
 Sheets("Tabelle8").Range("D3").FormulaLocal = "=100*(ZÄHLENWENN_
(tblDaten[Nächste UVV];" 
Sheets("Tabelle8").Range("D19").FormulaLocal = "=100*(ZÄHLENWENN_
(tblDaten[Status];1))/tblDaten[[#Ergebnisse];[Lager Status]]"
Sheets("Tabelle8").Range("D26").FormulaLocal = "=100*(ZÄHLENWENN_
(tblDaten[Status];0))/tblDaten[[#Ergebnisse];[Lager Status]]"
End Sub

Ich habe die Formeln nochmal einzeln Berechnen lassen und diese laufen auch, allerdings nur wenn ;" keine Leerzeichen in den ""aufweist. Diese macht Excel aber leider automatisch. Sobald die Formel ;" so aussieht Rechnet er. Er schreibt bislang nur den String "FALSCH" in die Zellen D3, D11.
Habt ihr eine Idee das Problem zu lösen oder zu umgehen? :)
Gruß Dennis
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Fehler bei FormulaLocal
16.03.2018 15:25:20
UweD
Hallo
poste mal die gewünschte Formel, so wie sie in der Zelle funktioniert.
LG UweD
AW: Fehler bei FormulaLocal
16.03.2018 15:26:51
Hajo_Zi
Hallo Denis,
Doppelt " wenn in Formel

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Das ist nicht die Ursache, sondern die Syntax-...
16.03.2018 15:29:09
Luc:-?
…Verletzung, Dennis;
wenn du einen FmlText per VBA einträgst, musst du auch beachten, dass das ein Text ist, der mit " anfängt und auch aufhört. Sieh dir das doch noch mal unter diesem Aspekt an, viell kommst du dann auch auf deinen Fehler…
Kleiner Tipp: Allgemein ist es üblich, Zeichen, die nicht ihre sprachspezifische Bedeutung haben sollen, anders darzustellen, idR einfach zu verdoppeln.
Gruß, Luc :-?
Anzeige
AW: Fehler bei FormulaLocal
16.03.2018 15:29:41
Luschi
Hallo Dennis,
eine Beschreibung Deines Dilemmas findest Du hier:
http://schmidt-net.de/files/30036.htm
Gruß von Luschi
aus klein-Paris
AW: Fehler bei FormulaLocal
16.03.2018 15:38:11
Dennis
Ein Träumchen, lag an der Syntax :)
Vielen lieben Dank und ein schönes Wochenende.
Gruß Dennis
Anzeige
AW: Fehler bei FormulaLocal
16.03.2018 16:50:53
snb
Warum kein VBA ?
Cells(5, 1) = "=100*(countif(tblDaten[Nächste UVV],""

;
Anzeige

Infobox / Tutorial

Fehlerbehebung bei FormulaLocal in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne dein Excel-Dokument und gehe zum VBA-Editor (Alt + F11).

  2. Erstelle ein neues Modul und füge den folgenden VBA-Code ein:

    Sub Auswertung_Klick()
       Call Tabelle_erstellen
       Call Datumsformat
       Sheets("Tabelle8").Range("D3").FormulaLocal = "=100*(ZÄHLENWENN(tblDaten[Nächste UVV];""1"")"
       Sheets("Tabelle8").Range("D19").FormulaLocal = "=100*(ZÄHLENWENN(tblDaten[Status];1))/tblDaten[[#Ergebnisse];[Lager Status]]"
       Sheets("Tabelle8").Range("D26").FormulaLocal = "=100*(ZÄHLENWENN(tblDaten[Status];0))/tblDaten[[#Ergebnisse];[Lager Status]]"
    End Sub
  3. Achte darauf, dass du die Formeln korrekt einfügst. Die Anführungszeichen sollten in VBA verdoppelt werden, um korrekt interpretiert zu werden.

  4. Teste das Makro und überprüfe, ob die Formeln in den Zellen korrekt berechnet werden.


Häufige Fehler und Lösungen

  • Problem: Formeln zeigen "FALSCH" in den Zellen an.

    • Lösung: Überprüfe, ob es in den Formeln unerwünschte Leerzeichen oder falsche Syntax gibt. Achte darauf, dass die Anführungszeichen richtig gesetzt sind.
  • Problem: Excel formatiert die Formeln automatisch.

    • Lösung: Vermeide Leerzeichen zwischen den Anführungszeichen in den Formeln. Nutze stattdessen die korrekten Zeichenfolgen.

Alternative Methoden

Falls du die Formeln nicht über FormulaLocal einfügen möchtest, kannst du auch die Cells-Methode verwenden. Hier ein Beispiel:

Cells(3, 4).Formula = "=100*(ZÄHLENWENN(tblDaten[Nächste UVV];""1"")"

Diese Methode kann manchmal einfacher und weniger fehleranfällig sein, da sie die Notwendigkeit der Verwendung von FormulaLocal umgeht.


Praktische Beispiele

Hier sind einige praktische Beispiele, die dir helfen können, die Verwendung von FormulaLocal besser zu verstehen:

  1. Zählen von Überfälligen Prüfungen:

    Sheets("Tabelle8").Range("D3").FormulaLocal = "=100*(ZÄHLENWENN(tblDaten[Nächste UVV];""1"")"
  2. Berechnung des Lagerstatus:

    Sheets("Tabelle8").Range("D19").FormulaLocal = "=100*(ZÄHLENWENN(tblDaten[Status];1))/tblDaten[[#Ergebnisse];[Lager Status]]"

Diese Formeln sind nützlich, um Daten aus einer Tabelle zu aggregieren und zu analysieren.


Tipps für Profis

  • Vermeide es, Formeln manuell einzugeben. Nutze stattdessen VBA, um Fehler zu minimieren.
  • Teste deine Formeln in einer separaten Excel-Datei, bevor du sie in dein Hauptprojekt einfügst.
  • Nutze Kommentare in deinem VBA-Code, um die Funktionsweise deiner Formeln zu dokumentieren. Das erleichtert späteren Änderungen oder Fehlerbehebungen.

FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen Formula und FormulaLocal? Formula verwendet die englische Syntax, während FormulaLocal die lokale Spracheinstellungen berücksichtigt.

2. Warum funktioniert meine Formel nicht, obwohl sie korrekt aussieht? Überprüfe auf unsichtbare Zeichen oder Leerzeichen, die von Excel automatisch hinzugefügt werden könnten. Manchmal kann auch die Syntax der Formel nicht korrekt sein.

3. Wie kann ich sicherstellen, dass meine Formeln immer korrekt berechnet werden? Achte darauf, dass die Syntax stimmt und dass alle benötigten Daten vorhanden sind. Teste Formeln immer in einer einfachen Umgebung, bevor du sie in komplexen Projekten verwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige