Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Workbooks.OpenText Filename: other:= xyz
#1
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
Antwortento top
#2
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
Antwortento top
#3
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
Antwortento top
#4
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
Antwortento top
#5
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
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste