Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1508to1512
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Txt im Format "Text" importieren mit Makro

Txt im Format "Text" importieren mit Makro
11.08.2016 16:01:38
Michael
Hallo, ich habe die unten aufgegührte Makro, von einem Helfer im Forum erhalten.
Nun werden manche Werte, die in den Texten tatsächlich Kommawerte sind verändert in die Excel überneommen.
Zum Beispiel: in der txt Datei steht der Wert: 1369,523 In der Excel ausgegeben als 1.369.523
Werte mit 2 Stellen hinter dem Komma werden nicht verändert, da sie automatisch als text formatiert werden.
Das verfälscht leider die Ergebnisse
Wie kann ich dieses Makro so verändern, dass der gesamte Inhalt der Textdateien in der Excel als "Text" formatiert werden ?
Kann mir da jemand helfen ?
Sub Michael8000()
With Application
.DisplayAlerts = False
.ScreenUpdating = False
End With
sPath = "D:\Users\MichaelHerbst\Desktop\abc1\"
sFile = Dir(sPath & "*.txt")
Do While Len(sFile)
With Sheets.Add(, , , sPath & sFile)
ls = Sheets("Daten").Cells(1, Columns.Count).End(xlToLeft).Column + 1
.Columns(1).Copy Sheets("Daten").Cells(1, ls)
.Delete
End With
sFile = Dir
Loop
With Application
.DisplayAlerts = True
.ScreenUpdating = True
End With
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Txt im Format "Text" importieren mit Makro
11.08.2016 16:31:40
Daniel
Hi
das Problem ist, das beim Öffnen von Textfiles mit VBA im Normalfall die englisch/amerikanische Schreibweise zum erkennen und umwandeln von Datumswerten verwendet wird.
Beim Öffnen mit Workbooks.Open kann man über den Parameter Local:=True anweisen, dass die lokalen(deutschen) Schreibweisen verwendet werden sollen.
Diese Option gibt es bei Sheets.Add aber nicht, daher musst du etwas anders vorgehen:
lege ein leeres Blatt an und importiere die Textdatei mit der Importfunktion DATEN - EXTERNE DATEN - AUS TEXT.
hierbei kannst du im Schritt 3 des Assistenten bei Klick auf WEITERE genau angeben, mit welchem Trennzeichen (Punkt oder Komma) die Zahlen in deiner Textdatei geschrieben sind, so dass sie korrekt umgewandelt werden können.
Importiere also die Textdatei mit dieser Methode, bei der Umsetzung in ein Makro hilft dir der Recorder.
Gruß Daniel
Anzeige
AW: mit Workbook.open
11.08.2016 16:57:04
VBA-Forum
Hi Michael,
Daniel ist einfach gut! Hier der geänderte Code mit dem Vorschlag:

Sub Michael8001()
With Application
.DisplayAlerts = False
.ScreenUpdating = False
End With
sPath = "z:\generic-Flashdisk-01\myExcel\vba\foren\"
sFile = Dir(sPath & "michael vba*.txt")
Do While Len(sFile)
With Workbooks.Open(sPath & sFile, local:=True)
ls = ThisWorkbook.Sheets("Daten").Cells(1, Columns.Count).End(xlToLeft).Column + 1
.Sheets(1).Columns(1).Copy ThisWorkbook.Sheets("Daten").Cells(1, ls)
.Close 0
End With
sFile = Dir
Loop
With Application
.DisplayAlerts = True
.ScreenUpdating = True
End With
End Sub
An einem Beispiel habe ich es getestet.
mfg
Anzeige
AW: mit Workbook.open
12.08.2016 12:47:40
Michael
Vielen Dank. Es hat geklappt :D

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige