116 Aufrufe
Gefragt in Tabellenkalkulation von ahorn38 Experte (2.9k Punkte)
Hallo,

ich möchte in einer Schleife eine bestimmte Zeichenfolge #92# in einem Ausdruck cells(i,5) suchen wobei, zwischen den Rauten jeweils zweistellige Zahlen stehen. Hat jemand eine Idee für den Code?

Danke und Gruß A.

14 Antworten

0 Punkte
Beantwortet von ahorn38 Experte (2.9k Punkte)
Hallo M.O.,

danke, du hast dir wieder richtig Arbeit gemacht.

Klappt einwandfrei, alle Einträge in meiner Datei wurden erkannt. Allerdings tritt doch der Fall ein, daß der Ausdruck T### mehrfach im string vorkommen kann.... Ich versuche das mal mit deiner Vorlage hinzukriegen.

Vielen dank und Gruß A.
0 Punkte
Beantwortet von ahorn38 Experte (2.9k Punkte)

Hallo M.O.,

vielen Dank, du hast dir ja echt Arbeit gemacht und super kommentiert!

Klappt einwandfrei, alle Einträge in meiner Datei wurden gefunden!

Allerdings kommt es doch vor, daß die Zeichenfolge T### mehrfach in dem Ausdruck vorkommen kann.

Ich habe deinen Code dafür geringfügig in der Do-Schleife abgeändert, so daß jetzt alle diese Ausdrücke gefunden werden:

......

For d = LBound(arrDaten, 1) To UBound(arrDaten, 1)

  bGefunden = False

  If arrDaten(d, 1) Like "*T###*" Then

    strRest = arrDaten(d, 1)

    Do While Len(strRest) > 3 And strRest Like "*T###*"

    a = InStr(1, strRest, "T")

        strTeil = Mid(strRest, a, 4)

        If strTeil Like "T###" Then

           bGefunden = True

           Cells(d, 13) = Cells(d, 13) & ", " & strTeil

           Cells(d, 14) = "gefunden an Position: " & a

           strRest = Right(strRest, Len(strRest) - a)

          Else

            strRest = Right(strRest, Len(strRest) - a)

         End If

    Loop

  End If

Next d

.....

Viele Grüße und noch mal DANKE!!

0 Punkte
Beantwortet von ahorn38 Experte (2.9k Punkte)
Hallo M.O.,

vielen Dank, du hast dir ja echt Arbeit gemacht und super kommentiert!

Klappt einwandfrei, alle Einträge in meiner Datei wurden gefunden!

Allerdings kommt es doch vor, daß die Zeichenfolge T### mehrfach in dem Ausdruck vorkommen kann.

Ich habe deinen Code dafür geringfügig in der Do-Schleife abgeändert, so daß jetzt alle diese Ausdrücke gefunden werden:

......

For d = LBound(arrDaten, 1) To UBound(arrDaten, 1)

  bGefunden = False

  If arrDaten(d, 1) Like "*T###*" Then

    strRest = arrDaten(d, 1)

    Do While Len(strRest) > 3 And strRest Like "*T###*"

    a = InStr(1, strRest, "T")

        strTeil = Mid(strRest, a, 4)

        If strTeil Like "T###" Then

           bGefunden = True

           Cells(d, 13) = Cells(d, 13) & ", " & strTeil

           Cells(d, 14) = "gefunden an Position: " & a

           strRest = Right(strRest, Len(strRest) - a)

          Else

            strRest = Right(strRest, Len(strRest) - a)

         End If

    Loop

  End If

Next d

.....

Viele Grüße und noch mal DANKE!!
0 Punkte
Beantwortet von m-o Profi (14.2k Punkte)
Hallo Andreas,

gern geschehen.

Gruß

M.O.
...