Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: txt in Excel umwandeln

txt in Excel umwandeln
18.12.2015 10:42:45
Larissa
Hallo,
ich habe folgendes Problem. Ich habe eine txt-Datei, die ich in Excel importieren möchte.
Folgenden Code habe ich bisher:
Sub txttoxls(ByVal File As String, ByVal zWkb As String)
Dim txt As String
Dim Buffer As String
Dim acLine As Long
Dim acCol As Long
acLine = 0
acRow = 1
txt = File
Open txt For Input As 1
While Not EOF(1)
Buffer = Input(1, #1)
If Buffer = ";" Then
acLine = acLine + 1
acRow = 1
ElseIf Buffer = "," Then
acRow = acRow + 1
Else
Application.Workbooks(zWkb).Sheets(1).Cells(acLine, acRow).Value = _
Application.Workbooks(zWkb).Sheets(1).Cells(acLine, acRow).Value & _
Buffer
'Application.Workbooks(zWkb).Sheets(1).Cells(1, 2).Value = "tesr"
End If
Wend
Close #1
ActiveWorkbook.Save
End Sub
Die umzuwandelnde Datei sieht folgendermaßen aus (und genau hier liegt das Problem):
;Onlineshop,194160,,LIE15/155448,LIE15/155448,LIE15/155448,LIE15/155448,LIE15/155448
;per Fax,144253,,LIE15/155450
;Onlineshop,193246,,LIE15/155451,LIE15/155451
;per Fax,141250,,LIE15/155456
;per Fax,300114,,LIE15/155457
Bei dem Makro erhalte ich eine Laufzeitfehler in der "Else-Condition". Habt ihr Ideen wo der Fehler liegt?

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: txt in Excel umwandeln
18.12.2015 11:23:08
AndrRo
Hallo Larissa,
der Code funktioniert, meine Vermutung: diesen Programm wird von einen anderen Programm aus gestartet, es wird der Pfad der Text-Datei und der Name der Exceldatei übergeben. Eine der Namen stimmt nicht überein.
Ich habe diese Variablen mit den beiden Zeilen umschrieben, dann hat der Code funktioniert.
zWkb = Application.ThisWorkbook.Name
txt = "C:\Users\Documents\Test VBA.txt"
gruss AndrRo

Anzeige
AW: txt in Excel umwandeln
18.12.2015 11:36:40
Larissa
Hi,
bei mir klappt es immer noch nicht. Ich habe den Code folgendermaßen angepasst:
Sub txttoxls()
Dim txt As String
Dim Buffer As String
Dim acLine As Long
Dim acCol As Long
Dim zWkb2 As String
Dim xlsName As String
Application.Workbooks.Add
Cells.Select
Selection.NumberFormat = "@"
xlsName = zWkb & ActiveWorkbook.Name & ".xls"
ActiveWorkbook.SaveAs (xlsName)
zWkb2 = Application.ThisWorkbook.Name
acLine = 0
acRow = 1
txt = Application.GetOpenFilename("Excel-Dateien (*.txt), *.txt")
Open txt For Input As 1
While Not EOF(1)
Buffer = Input(1, #1)
If Buffer = ";" Then
acLine = acLine + 1
acRow = 1
ElseIf Buffer = "," Then
acRow = acRow + 1
Else
Application.Workbooks(zWkb2).Sheets(1).Cells(acLine, acRow).Value = _
Application.Workbooks(zWkb2).Sheets(1).Cells(acLine, acRow).Value & _
Buffer
'Application.Workbooks(zWkb).Sheets(1).Cells(1, 2).Value = "tesr"
End If
Wend
Close #1
ActiveWorkbook.Save
End Sub

Anzeige
AW: txt in Excel umwandeln
18.12.2015 11:52:33
AndrRo
ersetze:
zWkb2 = Application.ThisWorkbook.Name
durch
zWkb2 = Application.ActiveWorkbook.Name
Gruss
AndrRo

AW: txt in Excel umwandeln
18.12.2015 11:55:26
Larissa

Application.Workbooks(zWkb2).Sheets(1).Cells(acLine, acRow).Value = _
Application.Workbooks(zWkb2).Sheets(1).Cells(acLine, acRow).Value & _
Buffer
In dieser Zeile bekomme ich immer noch einen Fehler. Ich bin völlig verwirrt.

Anzeige
AW: txt in Excel umwandeln
18.12.2015 12:02:42
AndrRo
Hallo Larissa,
ich habe mal meine Datei geladen, schau sie dir mal an, ich kann leider erst montag weiter helfen.
https://www.herber.de/bbs/user/102341.xlsm
Gruss AndrRo

AW: txt in Excel umwandeln
18.12.2015 12:05:11
Larissa
Auch bei deiner Datei erhalte ich die Fehlermeldung. Komisch.

Anzeige
AW: txt in Excel umwandeln
18.12.2015 12:11:49
Rudi
Hallo,
so?
Sub aaa()
txt2xls "c:\test\test1.txt", "mappe1.xls"
End Sub
Sub txt2xls(sText As String, sWkb As String)
Dim Buffer As String, arrTmp
Dim wksZiel As Worksheet
Dim lRow As Long
Set wksZiel = Workbooks(sWkb).Sheets(1)
Open sText For Input As #1
Do While Not EOF(1)
lRow = lRow + 1
Line Input #1, Buffer
arrTmp = Split(Mid(Trim(Buffer), 2), ",")
wksZiel.Cells(lRow, 1).Resize(, UBound(arrTmp) + 1) = arrTmp
Loop
Close #1
End Sub

Gruß
Rudi

Anzeige
AW: txt in Excel umwandeln
18.12.2015 12:16:54
Larissa
Danke! Es funktioniert!
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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