• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

een stuk tekst in een cel selecteren

  • Onderwerp starter Onderwerp starter rw88
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

rw88

Gebruiker
Lid geworden
7 okt 2011
Berichten
9
Hoi,

ik wil een stukje tekst selecteren uit een link in een cel in excel. Het stukje tekst begint elke keer op dezelfde plek, maar heeft nooit evenveel tekens en begint nooit met hetzelfde teken (letter). Ik heb vind.spec al geprobeerd, maar aangezien de tekst niet met hetzelfde teken begint weet ik niet waar ik naar moet zoeken. Ik denk dat het met 'deel' moet, maar ik kom er verder niet uit.
Hieronder een soortgelijk voorbeeld:

marathoneindhoven/voorbeeld_nr
marathoneindhoven/route_marathon
marathoneindhoven/deelnemers_aantal

De tekst begint elke keer op plaats 21. Ik wil het deel tussen de / en _ selecteren.

Bedankt alvast.
 
Als de "/" en "_" uniek zijn kan dat met een zelfgeschreven functie. Je kunt dan een string aflopen op deze twee tekens en het stuk ertussenuit halen. Je kunt ook gebruik maken van de regular expression ondersteuning van VBscript, wat bijna met elke combinatie werkt.

gebruik in cel:

=RegExpSubstitute(A29;"\w+/(\w+)_\w+";"$1")

functiecode (plaatsen in module in VBA)

Code:
Function RegExpSubstitute(ReplaceIn, ReplaceWhat As String, ReplaceWith As String)
    Dim RE As Object
    Set RE = CreateObject("vbscript.regexp")
    RE.Pattern = ReplaceWhat
    RE.Global = True
    RegExpSubstitute = RE.Replace(ReplaceIn, ReplaceWith)
End Function
 
In een formule:
Code:
=DEEL(A1;VIND.SPEC("/";A1)+1;VIND.SPEC("_";A1)-VIND.SPEC("/";A1)-1)

In VBA:
Code:
Function Part(sText As String) As String
Application.Volatile
Part = Mid(sText, InStr(sText, "/") + 1, InStrRev(sText, "_") - InStr(sText, "/") - 1)

End Function

Met vriendelijke groet,


Roncancio
 
Ik moet echt een formule gebruiken om de tekst te selecteren, dus een functiecode mag niet.. =RegExpSubstitute(A29;"\w+/(\w+)_\w+";"$1") doet het niet.
 
Beste Roncancio,
bedankt! Ik heb het nu helemaal opgelost!
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan