Ich habe hier einen VBA-Code für ein Macro, dass mir aus einer .txt Datei die Rohdaten einliest. Die Rohdaten haben den Aufbau Spalte1;Spalte1 -Tab- Spalte3;Spalte4 -Tab- usw.
Insgesamt sind es nach dem importieren dann 36 Spalten mit einer Anzahl zwischen 1000 und 4000 Zeilenwerten.
Das Macro funktioniert auch einwandfrei, nur ist die Abarbeitungszeit mit gut 5 Minuten deutlich langsamer als die Excel Import-Funktion (Menü Daten -> Externe Daten importieren -> Daten impportieren). Dort dauert es nichtmal eine Minute.
Hat der unten angegebene VBA Code noch optimierungsbedarf, oder ist es mittels VBA schlicht nicht möglich, die Daten schneller zu importieren. Man kann zwischenzeitlich zwar immer nett zum Klo gehen, nur muss ich leider nicht so oft, wie ich dieses Macro gerne nutzen würde.
Vielleicht kann mir ja einer der anwesenden Experten den Code optimieren, wenn möglich.
Gruß Thias
------------------------------------------------------------------------------
Sub TextImport()
Dim iRow As Integer, iCol As Integer 'Variablendeklaration
Dim sFile As String, sText As String '--------dito--------
ChDir "Y:\Eigene Dateien\Z4A 20kN Zugkraft" 'Pfadangabe für die zu öffnende Datei
sFile = Range("B1").Value 'Zelle, in der der Name der Rohdaten.txt steht
If Dir(sFile) = "" Then
Beep
MsgBox "Datei wurde nicht gefunden!", , "Warnung!"
Exit Sub
End If
iRow = 11 'Reihe
iCol = 2 'Spalte
Close
Open sFile For Input As #1
Do Until EOF(1)
Line Input #1, sText
sText = Replace(sText, Chr(9), ";", 1, -1)
Do While InStr(sText, ";")
Cells(iRow, iCol).Value = Left(sText, InStr(sText, ";") - 1)
sText = Right(sText, Len(sText) - InStr(sText, ";"))
iCol = iCol + 1
Loop
Cells(iRow, iCol).Value = sText
iRow = iRow + 1
iCol = 2
Loop
Close
MsgBox "import complete!", vbInformation, "Hinweis!"
End Sub