VBA: Text-Datei nach Excel
18.09.2015 18:02:42
Emre
bräuchte wieder mal eure Hilfe. Es geht um einen Code den ich bereits bisschen angepasst habe aber er macht immer noch nicht genau das was ich brauche.
Also, ich muss Werte aus einer txt.-Datei zu Excel per VBA kopieren/importieren. Das Problem ist, die txt.-Datei hat keine richtige Struktur und ist sehr blöd aufgebaut.
Die txt.-Datei sieht folgendermaßen aus, die Werte sind Beispiele von mir.
Performanz Analyse:
------------------------
Gescannte Werte:
10023: Diese Datei wurde "gescannt" , 10024: [Dieser Wert wurde gescannt] , 10025: Diese Datei wurde gescannt , 10023: Diese Datei wurde gescannt , 10023: Diese Datei wurde gescannt , 10023: Diese Datei wurde gescannt , 10023: Diese Datei wurde gescannt , 10023: Diese Datei wurde gescannt , 10023: Diese Datei wurde gescannt ,
Große Analyse:
------------------------
Ist beeinflusst:
10026: [Diese] Datei wurde "gescannt"
10044: [Dieser Wert wurde gescannt]
14025: Diese Datei wurde gescannt
10043: Diese Datei wurde gescannt
10423: Diese Datei wurde gescannt
10423: Diese Datei wurde gescannt
10013: Diese Datei wurde gescannt
Gescannte Werte:
================
10423: Diese Datei wurde gescannt
10013: Diese Datei wurde gescannt
Der Teil "Performanz Analyse" soll in Excel untereinander aufgelistet werden (was ich eigentlich schaffe) und hat um die 1000 Werte in der Originaldatei. Aber die beiden nächsten Teile "Große Analyse" und "Gescannte Werte" nimmt mein Code nicht mit. Ich bekomme auch noch einen Laufzeitfehler 1004 aber, wie gesagt der erste Teil wird trotzdem zu Excel übernommen.
Wäre für eure Hilfe sehr dankbar. Das hier ist mein Code:
Sub Import_1()
Dim strPfad As String
Dim lngFN As Long
Dim strText As String
Dim vntArrayWerte As Variant
Dim wksZ As Worksheet
Dim intFileNumber As Integer
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
With .Filters
If .Count > 0 Then .Clear
Call .Add("Textdateien", "*.txt")
End With
If .Show Then
intFileNumber = FreeFile
Open .SelectedItems(1) For Binary As #intFileNumber
strText = Space(LOF(intFileNumber))
Get #intFileNumber, 1, strText
Close #intFileNumber
vntArrayWerte = Split(strText, " ,")
ThisWorkbook.Worksheets("txt.File").Cells(1, 1).Resize( _
UBound(vntArrayWerte) + 1) = Application.Transpose(vntArrayWerte)
End If
End With
End Sub