Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1752to1756
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

VBA - Textimport mit Trennzeichen

VBA - Textimport mit Trennzeichen
16.04.2020 09:54:53
Thomas
Hallo zusammen,
nachdem nun alle meine bisherigen Versuche gescheitert sind, möchte ich euch um Hilfe bitten. _ Es geht um einen VBA Code. Diesen habe ich hier aus dem Forum:

Sub A()
With Application.FileDialog(msoFileDialogOpen)
If .Show Then Sheets.Add , Sheets(Sheets.Count), , .SelectedItems(1)
End With
End Sub


Sub B()
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = True
.InitialFileName = "C:\Users\Thoma\Desktop\Test\*.txt"
If .Show Then
For Each f In .SelectedItems
Sheets.Add , Sheets(Sheets.Count), , f
Next f
End If
End With
End Sub

Der Code liest alle Textdateien ein, die sich in einem Ordner befinden und legt für jede dieser _ Dateien ein neues Blatt in Excel an. Leider werden in diesem Code keine Trennzeichen beachtet, die beim Import als Spalteneinteilung dienen. Meine Daten benutzen als Trennzeichen ein Komma. Um diese Problem zu lösen, habe ich mit dem Makrorekorder den Datenimport aufgezeichnet. Dieser Code ist dabei raus gekommen:

Sub Makro1()
Workbooks.OpenText Filename:="C:\Users\Thoma\Desktop\Test\amd.us.txt", Origin:=xlMSDOS, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, Comma:=True _
, TrailingMinusNumbers:=True
End Sub

Da ich leider noch ein absoluter Anfänger in VBA bin, habe ich versucht den Code an jeder beliebigen Stelle in den ersten Code zu setzten. Auch Beispiele aus dem Internet haben mir nicht weiter helfen können. Deshalb wollte ich fragen, ob mir nicht bitte jemand zeigen kann, wie das mit den Trennzeichen beim Textimport klappt.
Unter diesem Link habe ich euch eine Beispieldatei hochgeladen: https://www.herber.de/bbs/user/136776.txt
Vielen vielen Dank im voraus für eure Hilfe! Ich wünsche euch noch einen schönen Tag.
Grüße,
Thomas

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Textimport mit Trennzeichen
16.04.2020 18:14:30
fcs
Hallo Thomas,
Opentext öffnet eine Textdatei in Excel als Arbeitsmappe mit einem Tabellenblatt. Man muss die Datei öffnen und dann das Blatt in die Zieldatei kopieren und anschliessend die Textdatei ohne Speichern wieder schliessen.
Da deine Datei im US-Format (Dezimalzeichen = . und 1000er-Zeichen = ,) vorliegt müssen diese zusätzlich mit vorgegeben werden, da Excel sonst Zahlensalat importiert.
Ich setze hier auch immer die anderen möglichen Trennzeich auf False, da es vorkommen kann das Excel sich aus vorangegangen Aktionen Trennzeichen gemerkt hat, die dann ggf. den Import beeinflussen.
LG
Franz
Sub B()
Dim wkbZiel As Workbook, wkbTxt As Workbook
Dim f As Variant
Set wkbZiel = ActiveWorkbook
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = True
.InitialFileName = "C:\Users\Thoma\Desktop\Test\*.txt"
If .Show Then
Application.ScreenUpdating = False
For Each f In .SelectedItems
'evtl. xlWindows statt xlMSDOS verwenden
Application.Workbooks.OpenText Filename:=f, Origin:=xlMSDOS, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
Tab:=False, Semicolon:=False, Comma:=True, Space:=False, Other:=False, _
TrailingMinusNumbers:=True, DecimalSeparator:=".", ThousandsSeparator:=","
Set wkbTxt = ActiveWorkbook
wkbTxt.Sheets(1).Copy after:=wkbZiel.Sheets(Sheets.Count)
wkbTxt.Close savechanges:=False
Next f
Application.ScreenUpdating = True
End If
End With
End Sub

Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige