automatischer Daten-Plot: open geht nicht
17.01.2019 18:25:59
Roland
ich bin ziemlich gefrustet. Dachte nicht, dass VBA so schwierig ist. Hier mein aktuelles Problem: Die folgende 'Sub' läuft ohne Fehlermeldung und bringt die 'Wasserstands-Meldung' "habe Datei eingelesen", sonst passiert aber gar nichts, obwohl die Datei 'JExel_Plot_Daten.txt' existiert, 50 Zeilen mit je zwei durch Leerzeichen getrennten Werten enthält und sich in dem Verzeichnis befindet, wo auch die Create_Plot.xlsm steht, zu der die 'Sub' gehört.
Was ist denn jetzt noch falsch?
Hilfe-suchende Grüße
Roland
Sub auto_open()
Dim strPfad As String
Dim lngFN As Long
Dim strText As String
Dim vntArrayZeilen As Variant
Dim lngZeileNr As Long
Dim vntArrayWerte As Variant
Dim lngSpalte As Long
Dim wksZ As Worksheet
Set wksZ = ActiveWorkbook.Worksheets("Tabelle1")
strPfad = "JExel_Plot_Daten.txt"
lngFN = FreeFile
Open strPfad For Binary As lngFN
strText = Space(LOF(lngFN))
Get lngFN, 1, strText
Close lngFN
MsgBox "habe Datei eingelesen"
strText = Replace(strText, vbTab, " ", 1, -1, 1)
vntArrayZeilen = Split(strText, vbCrLf, -1, 1)
For lngZeileNr = 0 To UBound(vntArrayZeilen)
vntArrayWerte = Split(vntArrayZeilen(lngZeileNr), " ", -1, 1)
For lngSpalte = 0 To UBound(vntArrayWerte)
If IsNumeric(vntArrayWerte(lngSpalte)) Then
wksZ.Cells(lngZeileNr + 1, lngSpalte + 1).Value = Val(Replace(vntArrayWerte(lngSpalte), ",", _
_
".", 1, -1, 1))
Else
wksZ.Cells(lngZeileNr + 1, lngSpalte + 1).Value = vntArrayWerte(lngSpalte)
End If
Next
Next
End Sub