Stefan: Zeichen in String ermitteln!

Hallo zusammen!

Ich arbeite mit VBA in Word...! jetzt möchte ich einen Teil von einem string auslesen und zwar:

....12345678#Test++45678910#HalliHallo

ich möchte die zahl 45678910 auslesen

ich müsste also von rechtsher das file nach dem zeichen # abscannen, wenn ich weiss an welcher Stelle das zeichen ist wäre mein Problem gelöst...! habt ihr da Ideen wie ich das machen könnte?

kann man mit instr() von rechts nach links "scannen"? habe es nicht geschafft!

vielen dank
gruss stefan

  1. Hi Stefan,

    Hallo zusammen!

    Ich arbeite mit VBA in Word...! jetzt möchte ich einen Teil von einem string auslesen und zwar:

    ....12345678#Test++45678910#HalliHallo

    ich möchte die zahl 45678910 auslesen

    Klar, man könnte von hinten eine Schleife darüber laufen lassen. Aber wenn die "++" auch ein Merkmal sind, geht es auch so:

    strText = "12345678#Test++45678910#HalliHallo"
    strText = Left(Right(strText, Len(strText) - InStr(1, strText, "++") - 1), _
            InStr(1, Right(strText, Len(strText) - InStr(1, strText, "++") - 1), "#") - 1)

    Viele Grüße

    Jörg

    1. Klar, man könnte von hinten eine Schleife darüber laufen lassen. Aber wenn die "++" auch ein Merkmal sind, geht es auch so:

      strText = "12345678#Test++45678910#HalliHallo"
      strText = Left(Right(strText, Len(strText) - InStr(1, strText, "++") - 1), _
              InStr(1, Right(strText, Len(strText) - InStr(1, strText, "++") - 1), "#") - 1)

      Hallo Jörg

      Vielen Dank ertsmal!
      Ich habe das jetzt ausprobiert und es ist so:

      Wenn mein File so aussieht:

      ++10105901#Manuela++10106901#Julien++99999999#Husi

      liest das Statement welches du mir gegeben hast die vorderste Zahl (10105901) aus, ich muss aber die hinterste Zahl (99999999) haben... hast du sonst noch eine idee?

      vielen dank für deine Mühe!!

      Gruss STefan

      1. Hi Stefan,

        Wenn mein File so aussieht:

        ++10105901#Manuela++10106901#Julien++99999999#Husi

        liest das Statement welches du mir gegeben hast die vorderste Zahl (10105901) aus, ich muss aber die hinterste Zahl (99999999) haben... hast du sonst noch eine idee?

        OK, dann rollen wir die Sache halt von hinten auf:

        strText = "++10105901#Manuela++10106901#Julien++99999999#Husi"

        intI = Len(strText)
        Do While strRaute <> "#"
            strRaute = Mid(strText, intI, 1)
            intI = intI - 1
        Loop
        strText = Left(strText, intI)
        intI = Len(strText)
        strRaute = 1
        Do While IsNumeric(strRaute)
            strRaute = Mid(strText, intI, 1)
            intI = intI - 1
        Loop
        strText = Right(strText, Len(strText) - intI - 1)

        Viele Grüße

        Jörg