Nummerierung in einem String bearbeiten

  • Excel

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von INOPIAE.

    Nummerierung in einem String bearbeiten

    Hallo ihr Spezis

    ich habe ein Problem. Bei einer Tabelle muss ich eine Positionsnummer (String) so verändern, dass diese ab "3.16" um "19" erhöht wird, also anstelle "3.19" soll "3.35" ausgegeben werden. Dies klappt auch perfekt, nur wird anstelle von Pos. "3.40" immer "3.4" ausgegeben. Interessanterweise wird Pos. "3.40.1" wieder korrekt dargestellt.

    sTemp ist String, aktuelle Pos. Nr. (z.B. "3.16")
    sRepl ist String, String der in sTemp eingesetzt werden soll (sollte in obigem Beispiel "40" sein)
    r = Int, 2. Nummerierungs Pos. (z.B. "16")

    Visual Basic-Quellcode

    1. sTemp = Mid(RaM0x.Cells(i, 1), 3, 2)
    2. r = CInt(sTemp)
    3. If r > 16 Then
    4. r = r + 19
    5. sRepl = CStr(r)
    6. RaM0x.Cells(i, 1) = Replace(RaM0x.Cells(i, 1), sTemp, sRepl)
    7. End If

    Ich habe dann mal versucht mit diesem Code die r=40 Situation abzufangen und dabei "40" durch "41" auszutauschen, was dazu führte das die Position korrekt mit "3.41" ausgegeben wurde.

    Visual Basic-Quellcode

    1. sTemp = Mid(RaM0x.Cells(i, 1), 3, 2)
    2. r = CInt(sTemp)
    3. If r > 16 Then
    4. r = r + 19
    5. sRepl = CStr(r)
    6. If sRepl = "40" Then
    7. sRepl = Replace(sRepl, "40", "41") '<-- hier
    8. End If
    9. RaM0x.Cells(i, 1) = Replace(RaM0x.Cells(i, 1), sTemp, sRepl)
    10. End If

    So wie es aussieht, passiert dies nur bei geraden zehner Positionen also "3.40", "3.50", "3.60"

    was mache ich falsch? ?(

    CodeTags gesetzt
    Thema verschoben; Das Thema wird automatisch dort erstellt, wo man sich befindet, wenn man auf [* Neues Thema] klickt. ~VaporiZed

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“ ()