AW: ...im Prinzip- Ja...
27.02.2019 21:38:20
Helmut
Hallo Rudi und Nepumuk,
was soll ich wie prüfen, wenn das Makro auf 4 Geräten läuft-
d.h. Daten sind in Array eingelesen ( geprüft mit If zähler im Array > 1 )
dann mach was....
Die txt. Daten sind auf meinem USB-Stick
Ich gehe mit dem Stick, nach Test bei mir-funktioniert, zu meinem Freund-
und das Makro stoppt bei der angegebene Zeile mit Laufzeitfehler 13...
Noch dazu ist das Makro zum einlesen einer Textdatei aus dem Herber Forum !
Was kann da noch falsch sein ?
Hier das Original-Pfad und Datei sind natürlich anders.....
Sub importTextFiles()
Dim vntItem As Variant, rng As Range
Dim vntFiles() As String, vntValues() As Variant
Dim lngI As Long, lngN As Long, lngRow As Long
Dim strTemp As String
Dim ff As Integer
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = "E:\Forum" 'Startverzeichnis
.Title = "Dateien auswählen"
.ButtonName = "Auswahl..."
.InitialView = msoFileDialogViewList
.AllowMultiSelect = True
.Filters.Clear
.Filters.Add "Text Dateien", "*.txt; *.csv", 1
.FilterIndex = 1
If .Show = -1 Then
ReDim vntFiles(.SelectedItems.Count - 1)
For Each vntItem In .SelectedItems
vntFiles(lngI) = vntItem
lngI = lngI + 1
Next
End If
End With
If lngI > 0 Then
For lngI = 0 To UBound(vntFiles)
lngRow = 0
ff = FreeFile
Open vntFiles(lngI) For Input As #ff
Do While Not EOF(ff)
lngRow = lngRow + 1
Line Input #ff, strTemp
Select Case lngRow
Case 5, 15, 46, 84, 97 'Zeilen die importiert werden
ReDim Preserve vntValues(lngN)
vntValues(lngN) = strTemp
lngN = lngN + 1
Case Else
End Select
Loop
Close #ff
Next
End If
If lngN > 0 Then
Set rng = ThisWorkbook.Sheets("Tabelle1").Range("A2").Resize(lngN, 1) 'Ausgabezelle
rng = Application.Transpose(vntValues)' hier stoppt das Makro-aber nur bei meinem Freund!!!
rng.TextToColumns Destination:=rng.Cells(1, 1), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False
End If
Set rng = Nothing
End Sub
Gruß
Helmut