[VBA Excel] Import einer Datendatei

ReneG8

Grünschnabel
Ansich nicht schwer. Aber die daten sind in dem format KC1_ist=0.0098. Das einzige Trennzeichen dass ich habe ist ein "=". Bis jetzt habe ich die datei als ganzes einladen lassen und versuche nun code zu erzeugen, der mit das ganze trennt.

Code:
Sub Texteinfügen()
Dim zelle As Range
Dim istgleich As Integer
Dim sarray As String
Workbooks.OpenText Filename:="bla\blubb\bla.kkd"
For Each zelle In ActiveSheet.UsedRange
    istgleich = InStr(zelle, "_ist=")
        If istgleich > 0 Then
            sarray = Split("zelle", "=")
            zelle.Offset(0, 2) = sarray(0)
            zelle.Offset(0, 3) = sarray(1)
        End If
Next zelle
   


End Sub

er meckert bei sarray das er kein datenfeld hat oder so. Ich weiss dass ich bei split eigentlich ein string stehen haben muss, ich möchte das aber dynamisch und nicht nur für einen eintrag haben.

Wie ihr seht habe ich noch nicht allzuviel erfahrung lerne aber mit jeder stunde dazu :)

danke für jedwede Hilfe.
 
Wenn du eine Variable als Array haben willst, musst du sie auch so dimensionieren:
Visual Basic:
Dim sarray() As String

Du hast aber auch noch einen kleinen Fehler im zweiten Split-Teil, hier der ganze, korigierte Code:
Visual Basic:
Sub Texteinfügen()
Dim zelle As Range
Dim istgleich As Integer
Dim sarray() As String
Workbooks.OpenText Filename:="bla\blubb\bla.kkd"
For Each zelle In ActiveSheet.UsedRange
    istgleich = InStr(zelle, "_ist=")
        If istgleich > 0 Then
            sarray = Split(zelle, "=")
            zelle.Offset(0, 2) = sarray(0)
            zelle.Offset(0, 3) = sarray(1)
        End If
Next zelle
End Sub


Der Doc!
 
danke dir habe das problem aber mithilfe anderer quellen nun schon erledigt.

ergebnis sieht folgendermassen aus

Code:
For Each zelle In ActiveSheet.UsedRange                 
    istgleich = InStr(zelle, "_ist=")                   
        If istgleich > 0 Then                          
            b = Split(zelle, "=")                     
            zelle.Offset(0, 2).Value = b(0)            
            If IsNumeric(b(1)) Then                    
                zelle.Offset(0, 3).Value = CDbl(b(1))   
            Else
                zelle.Offset(0, 3).Value = b(1)
            End If
                                                          
            
        End If                            
Next zelle

ich markier das mal dann als erledigt :)
 

Neue Beiträge

Zurück