ich möchte aus einer Textdatei bestimmte Werte in die dafür vorgesehenen Label einer Userform einlesen.
Jetzt habe ich über Suchanfragen im Internet auch einige Beispiele gefunden aber ich schaffe es nicht zu begreifen wie ich die Werte direkt ansteuern kann.
(Das will einfach nicht in mein Schäd´l)
Ich habe als Beispiel eine Datei die wie folgt aussieht:
,Programmname,Zufall
,Abgelaufene Zeit,30:02
,Kalorien,367
,Entfernung ,5.2454 km
,Gestiegene Entfernung,58 Meter
,Durchschnittsgeschwindigkeit,10.4792 km/h
,Durchschnittstempo,5:44 / km
,Kalorien pro Stunde,733
,Art des Produkts,Laufband
,Datum und Zeit,11/26/2015 15:01:29
Für jede Zeile gibt es zwei Labels Bezeichnung/Zahlenwert
Der VBA-Code sieht bisher wie folgt aus und beschränkt sich in seiner Funktion auf das öffnen der Datei bzw auf das öffnen des Fensters zum öffnen der Datei ;-)
Die erste If-Bedingungen verstehe ich (Datei-öffnen)
Bei der Zweiten habe ich rumexperimentiert und muss mir eingestehen das ich nicht verstehe was ich gemacht habe.
Der Code unten bezieht sich noch auf Zellen.
Private Sub cmd_import_Click()
Dim strFileName As String, arrDaten, arrTmp, lngR As Long, lngLast As Long
Const cstrDelim As String = ";" 'Trennzeichen
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.Title = "Wo sind denn jetzt die Daten?"
.InitialFileName = "c:\test\*.csv" 'Pfad anpassen
If .Show = -1 Then
strFileName = .SelectedItems(1)
End If
End With
If strFileName "" Then
Application.ScreenUpdating = False
Open strFileName For Input As #1
arrDaten = Split(Input(LOF(1), 1), vbCrLf)
Close #1
For lngR = 1 To UBound(arrDaten)
arrTmp = Split(arrDaten(lngR), cstrDelim)
If UBound(arrTmp) > -1 Then
With ActiveSheet
lngLast = .Cells(Rows.Count, 1).End(xlUp).Row + 1
lngLast = Application.Max(lngLast, 10)
.Cells(lngLast, 1).Resize(, UBound(arrTmp) + 1) _
= Application.Transpose(Application.Transpose(arrTmp))
End With
End If
Next lngR
End If
End Sub
Boar liest sich das alles überhaupt einer durch?Danke für hilfe