Clever-Excel-Forum

Normale Version: Workbooks.OpenText Filename: other:= xyz
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo liebes Forum,

ich bin hier komplett neu und normalerweise lese ich ich erst ein und versuche über die Suche meine Frage zu finden, leider hat das nicht so wirklich geklappt, bitte um Nachsicht!

Ich bin gerade dabei einen Import zu bauen, der beliebige Textdatei ein lesen soll, grundsätzlich funktioniert das auch leider werden die Trennzeichen ";" ignoriert und die Texte kommen nicht in mehreren Spalten sondern als Textblock in beginnen in Zeile A1, A2,A3...

Ich vermute mal das die Software, die die Textdatei erzeugt einen anderen Code benutz als meine Excel Version (Office 2013) darum habe ich versucht im Code unten bei other:= ";" einzutragen, was mir als Fehler quittiert wird.
Hat jemand eine Idee was ich machen kann um den Textimport nach Excel sauber zu bekommen??? 


Hier das Macro wo ich den Befehl OTHER nicht mit einem anderen Zeichen belegen kann


Sub TextImport()

  Dim wks As Worksheet
  Dim vFile As Variant
  Application.ScreenUpdating = False
  Set wks = ActiveSheet
  vFile = Application.GetOpenFilename("Textdateien (*.txt), *.txt")
  If vFile = False Then Exit Sub
  ActiveSheet.Cells.Delete
  Workbooks.OpenText Filename:=vFile, Tab:=False, semicolon:=True, _
      comma:=False, Space:=False, other:=";"
  ActiveSheet.UsedRange.Copy wks.Range("A1")
  ActiveWorkbook.Close savechanges:=False
  Range("A1").Select
  Application.ScreenUpdating = True
End Sub
Hallo Harry,

versuch es doch mal so:
Code in die Zwischenablage
Sub TextImport()

  Dim wks As Worksheet
  Dim vFile As Variant
  Application.ScreenUpdating = False
  Set wks = ActiveSheet
  vFile = Application.GetOpenFilename("Textdateien (*.txt), *.txt")
  If vFile = False Then Exit Sub
  ActiveSheet.Cells.Delete
  Workbooks.OpenText Filename:=vFile, Tab:=False, semicolon:=False, _
      comma:=False, Space:=False, other:=True, OtherChar:=";"
  ActiveSheet.UsedRange.Copy wks.Range("A1")
  ActiveWorkbook.Close savechanges:=False
  Range("A1").Select
  Application.ScreenUpdating = True
End Sub
viele Grüße aus Freigericht
Karl-Heinz
Danke Karl-Heinz,

das Macro bringt schon mal keine Fehlermeldung mehr, Danke dafür! Allerdings ignoriert es beim Import die Vorgabe komplett, Ich habe das ; jetzt durch ein ! ausgetauscht und es werden keine Spalten erzeugt.

Ich werde für heute Feierabend mach , morgen kommt sicher die ErlösungWink

Danke dir
Also wenn es eine Textdatei ist, warum machst Du sie dann nicht einfach mal mit dem Editor auf und schaust nach, was für ein Trenner da drin ist, statt da mit verschiedenen Zeichen rumzuprobieren?
Oder hast Du das schon mal gemacht?

viele Grüße
Karl-Heinz
Danke dir,

ich habe die Textdatei natürlich aufgemacht und das ; durch ein ! ersetzt, Import ging nicht, dann habe ich den Kopf der Datei verändert und siehe da, der Import klappt reibungslos mit deinen Änderungen!

Muss also bei der Dateierzeugung irgend ein Sonderzeichen den Import stören.
Das finde ich raus und bau die TXT Datei um!

Vielen Dank noch mal