For Schleife in eine Schleife

Nabend,
Ich würde gern an der mit XXXXX gekennzeichneten Stelle noch eine For Schleife einbauen. Der Wert aus der Variable teilit2(0) soll in NEID() geschriben werden. Wie kann ich in die bestehende Schleife noch eine schreiben ?
oder alternativ:
ich lese aus der Datei zeilenweise in die var textvar2. dort steht von links nach rechts eine 9 stellige Zahl eine Tab und eine IP. Ich brauche aber nur die ersten 9 stellen also die zahl in der teilit2.
damit ich mir diese später alle ausgeben kann.
danke mfg joe

Dim teilit2() As String
Dim teilitx2() As String
Dim a2 As Integer
Dim a3 As Integer
Dim ff2 As Integer
Dim durch As Integer
Dim textvar2 As String
Dim na2 As String
durch = 1
ff2 = FreeFile

na2 = "Sitelist2.txt"

Open na2 For Input As #ff2
While Not EOF(ff2)
Line Input #ff2, textvar2

teilit2 = Split(textvar2, Chr(9))
For a2 = LBound(teilit2) To UBound(teilit2)

If teilit2(0) = Text3.Text Then
Else

 Text3.Text = teilit2(0) 'XXXXXXXXXX

End If
Next
Wend
Close #ff2

Hi Joe,

Wie kann ich in
die bestehende Schleife noch eine schreiben ?

ich verstehe das Problem wohl wieder einmal nicht.

Schleifen zu schachteln ist doch kein Problem?

Sub test()
 For i = 1 To 100
 If i \> 20 And i 
Gruß, Rainer

Hi Rainer,
Wie kann ich beim Auslesen nur die ersten 9 stelen in die nächste variable schreiben ?.

Line Input #ff2, textvar2
teilit2 = left(textvar2(9)) ???

Hi Joe,

Wie kann ich beim Auslesen nur die ersten 9 stelen in die
nächste variable schreiben ?.

Line Input #ff2, textvar2
teilit2 = left(textvar2(9)) ???

fast.

teilit2 = left(textvar2,9)

Markier mal ‚Left‘ und tipp dann ‚F1‘ …

Gruß, Rainer

Hi Reiner,
Wieso geht nachdem Line Input der split aber wenn ich mir nur die linken 9 zeichen anzeigen lassen möchte bekomme ich ne fehler Meldung.

Dim teilit2() As String
Dim teilitx2() As String
Dim a2 As Integer
Dim a3 As Integer
Dim ff2 As Integer
Dim durch As Integer
Dim textvar2 As String
Dim na2 As String
durch = 1
ff2 = FreeFile

pfd = App.Path
If Right(pfd, 1) "\" Then pfd = pfd & "\"
na2 = pfd & "Sitelist2.txt"

Open na2 For Input As #ff2
While Not EOF(ff2)
Line Input #ff2, textvar2
'teilit2 = Left(textvar2, 9)
teilit2 = Split(textvar2, Chr(9))

 List2.AddItem teilit2(0)

 Wend
Close #ff2

Hi Joe,

Wieso geht nachdem Line Input der split aber wenn ich mir nur
die linken 9 zeichen anzeigen lassen möchte bekomme ich ne
fehler Meldung.

setz mal einen Stoppunkt und sieh Dir den Inhalt des Strings an.
Ungetestet, ich nehme aber an, Du bekommst einen Fehler, wenn der String kürzer als 9 Zeichen ist. Split liefert keinen Fehler, wenn das Trennzeichen nicht gefunden wird.

Wenn Du also am Ende der Date z.B. ein Einzelnes Leerzeichen in einer Zeile hast, wird Left() so zu einem Fehler führen.

Probier mal …

If Len(String) \>= 9 Then
 Ergebnis = Left(String, 9)
'...
End If

… das sollte klappen.

Gruß, Rainer

@ Joe,

„ne fehler Meldung“ ist zuwenig Info und schadet dir selbst. Hättest du gleich gesagt daß die Meldung „Typen unverträglich“ Laufzeitfehler13)lautet, zumindest in VBA f. Excel, k.A. was in VB erscheint, wäre Rainer evtl. nicht in die Irre geführt worden.

Es liegt nicht an Left.
Left("",10000) ist kein Problem.

Es liegt an den Klammern von

Dim teilit2()

Gruß, auch an Rainer
Reinhard

1 Like

Hallo Reinhard,

Es liegt an den Klammern von

Dim teilit2()

Danke! Hab ich übersehen.

Gruß, Rainer