Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Dateiformat und Dateierweiterung passen nicht zueinander-VBA

Forumthread: Dateiformat und Dateierweiterung passen nicht zueinander-VBA

Dateiformat und Dateierweiterung passen nicht zueinander-VBA
19.01.2024 13:43:55
logistiker123
Hallo zusammen,

ich habe einen ziemlich langen VBA-Code, der aus verschiedenen Dateien ein Report automatisch aktualisiert. Soweit funktioniert auch alles.. Allerdings habe ich ein kleines Problem bei einem automatisch generierten SAP Report. Sobald ich die Daten aus diesem Report ziehe ändert sich die Formatierung..

Beispielsweise wird aus 3.498 wird 3,498 (das habe ich einfach mit einem VBA Code lösen können indem ich die Zahl mit 1000 multipliziere).. Das eigentliche Problem tritt bspw. bei 2.000 auf - diese wird beim kopieren zu einer 2 und somit nicht erkennbar, ob ein Dezimaltrennzeichen vorhanden war.

Wenn ich allerdings die Datei manuell kopiere, treten keine Probleme auf.. ich drehe noch durch :D

Beim öffnen der Datei kommt folgende Fehlermeldung:

Userbild

Hat es evtl. damit was zu tun? Wenn ja, wie kann ich das Problem lösen?

Danke euch.


Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Dateiformat und Dateierweiterung passen nicht zueinander-VBA
19.01.2024 15:27:42
Oberschlumpf
Hi,

a)
bei deinem Wissen = Excel-Profi - VBA gut, hätte ich gedacht, du prüfst...
- im F8-Modus, welcher Wert hat deine Problemzahl (2.000), bevor diese kopiert wird
- wenn vor dem Kopieren Wert so ist, wie er soll, z Bsp 2.000, dann im Code mit z Bsp If Then Else reagieren

b)
Wenn du uns fragst, ob die Fehlermeldung damit etwas zu tun hat, müsstest du uns schon verraten...
- welche Endung hat denn die Datei (und nich die Endung unkenntlich machen :-) )
- welche Art von Datei soll denn die Datei sein, die du einlesen willst
Wenn Datei z Bsp als Excel-Datei im Code "erwartet" wird, du diese also z Bsp mit Range(Zelle).Value auslesen willst, es sich bei der Datei aber um eine TXT-Datei handelt, ja, dann funktionieren die Range(...)-Befehle nicht.

Konnte ich helfen?

Ciao
Thorsten

Anzeige
AW: Dateiformat und Dateierweiterung passen nicht zueinander-VBA
19.01.2024 17:57:11
daniel
Hi
dann musst du schauen, wie du diese Reports importierst.
Das Problem ist folgendes: Wenn du von Hand Textdateien öffnest, oder ein Text-in-Spalten ausführst, dann verwendet Excel automatisch deine Ländereinstellungen für das Konvertieren der Texte in Werte (also bei Zahlen dann das Komma als Dezimalzeichen).
Wenn du diese Aktion aber per Marko ausführst, dann denkt Excel immer amerikanisch und verwendet diese Formate (Komma als Tausendertrennzeichen, Punkt als Dezimalzeichen.
Solltest du aufgezeichneten Code verwenden, musst du die Angabe der Länderversion bzw der Dezimal- und Tausenderzeichen noch ergänzen.
Für Workbooks.Open kann man einfach den Parameter Local:=True ergänzen.
Hast du ein Text-In-Spalten, dann kannst du das vorgeben der Trennzeichen aufzeichnen, in dem du im Schritt 3 des Assistenten auf "weitere" klickst und dort die Einstellung ändert. Nur so wird dieser Parameter vom Recorder aufzeichnet.
Solltest du das Einlesen der Daten explizt ausprogrammiert haben und die Werte einzeln in die Exceltabelle schreiben, kann man durch Cells(...).FormulaLocal = "2,123" erreichen, dass das Komma als Dezimal- und der Punkt als Tausendertrenner erkannt wird.

Gruß Daniel
Anzeige
AW: Dateiformat und Dateierweiterung passen nicht zueinander-VBA
22.01.2024 10:29:50
logistiker123
Habe wochenlang getüftelt, überlegt, mein Kopf zerbrochen, verzweifelt.. und dann ist die Lösung einfach nur ein Parameter Local:=True ??!!!

DANKE, wirklich. Es ist so banal, dass ich mich nicht mal wirklich freuen kann.. weil ich einfach wochenlang so schlechte Laune deswegen hatte haha :D
Anzeige
AW: Dateiformat und Dateierweiterung passen nicht zueinander-VBA
19.01.2024 19:09:10
Rudi Maintaire
Hallo,
vermutlich wird der SAP-Report als .xls abgelegt aber es handelt sich in Wahrheit um einen Tab-getrennten Text. Das würde die Fehlermeldung erklären.

Gruß
Rudi
;
Anzeige
Anzeige

Infobox / Tutorial

Probleme mit dem Dateiformat und der Dateierweiterung in Excel lösen


Schritt-für-Schritt-Anleitung

  1. Datei überprüfen: Stelle sicher, dass die Datei das richtige Format hat. Wenn du beispielsweise einen SAP-Report öffnest, der als .xls gespeichert ist, aber tatsächlich ein Tab-getrennter Text ist, wird die Fehlermeldung "die Datei kann von excel nicht geöffnet werden, da das dateiformat oder die dateierweiterung" angezeigt.

  2. VBA-Code anpassen: Wenn du Daten per VBA importierst, füge den Parameter Local:=True zu Workbooks.Open hinzu. Dies sorgt dafür, dass Excel die Ländereinstellungen verwendet, um Zahlen korrekt zu interpretieren.

    Workbooks.Open Filename:="Pfad zur Datei", Local:=True
  3. Text in Spalten nutzen: Sollte der Import über Text-in-Spalten erfolgen, stelle sicher, dass du im Assistenten das Trennzeichen korrekt angibst.

  4. Zahlenformat anpassen: Wenn du die Werte in Zellen schreibst, kannst du Cells(...).FormulaLocal verwenden, um das korrekte Dezimalzeichen zu setzen.

    Cells(1, 1).FormulaLocal = "2,123"

Häufige Fehler und Lösungen

  • Fehler: "Das Dateiformat und die Dateierweiterung passen nicht zueinander"
    Lösung: Überprüfe die Datei-Endung. Wenn die Datei als .xls gespeichert ist, aber tatsächlich ein Textformat hat, wird der Fehler angezeigt. Stelle sicher, dass du die richtige Dateierweiterung verwendest.

  • Fehler bei der Zahlenformatierung
    Lösung: Wenn Zahlen bei der Übertragung von 2.000 zu 2 konvertiert werden, achte darauf, dass der VBA-Code die richtigen Ländereinstellungen verwendet. Das Hinzufügen von Local:=True kann hier helfen.


Alternative Methoden

  • Manueller Import: Öffne die Datei manuell in Excel, um sicherzustellen, dass die Ländereinstellungen automatisch angewendet werden. Das kann oft Probleme mit dem Formatieren umgehen.

  • Datenüberprüfung: Verwende Excel-Funktionen wie ISTZAHL(), um sicherzustellen, dass die importierten Daten auch tatsächlich als Zahlen erkannt werden.


Praktische Beispiele

  1. Beispiel: Import eines Textberichts
    Wenn du einen Bericht aus SAP als Textdatei hast, könnte dein VBA-Code so aussehen:

    Sub ImportSAPReport()
       Workbooks.Open Filename:="C:\Berichte\SAPReport.txt", Local:=True
    End Sub
  2. Beispiel: Zahlenformat anpassen
    Um sicherzustellen, dass die Zahl 2.000 als 2000 erkannt wird:

    Dim zahl As Double
    zahl = 2000
    Cells(1, 1).FormulaLocal = zahl

Tipps für Profis

  • Debugging im F8-Modus: Nutze den F8-Modus im VBA-Editor, um die Werte vor dem Kopieren zu überwachen und sicherzustellen, dass sie im richtigen Format sind.

  • Einstellungen speichern: Wenn du oft mit unterschiedlichen Dateiformaten arbeitest, speichere deine häufig verwendeten VBA-Parameter in einem Modul, um sie schnell abrufen zu können.


FAQ: Häufige Fragen

1. Was kann ich tun, wenn ich die Fehlermeldung "Das Dateiformat und die Dateierweiterung passen nicht zueinander" erhalte?
Überprüfe die Dateiendung und stelle sicher, dass sie mit dem tatsächlichen Dateiformat übereinstimmt. Möglicherweise musst du die Datei in einem anderen Format speichern.

2. Wie kann ich sicherstellen, dass meine Zahlen im richtigen Format importiert werden?
Nutze Local:=True in deinem VBA-Code, um die regionalen Einstellungen von Excel zu berücksichtigen, und verwende FormulaLocal, um das gewünschte Zahlenformat anzugeben.

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