Ostatnio dwukrotnie zostałem poproszony o rozwiązanie problemu usuwania części tekstu pomiędzy parą znaków
Np „Ala (hihi) ma kota (hehe) a kot to” – powinno zostać zamienione na „Ala ma kota a kot to”
Oto rozwiązanie, pisane jak zwykle na szybko, więc pewnie ktoś już to kiedyś zrobił lepiej 🙂
' Wymaga biblioteki Excela ' ze względu na obiekt WorksheetFunction Function PominTekst( _ Tekst As String, Ogr1 As String, Ogr2 As String, _ BezZbednychSpacji As Boolean) Dim Pocz As Long, Wynik As String Dim PozOgr1 As Long Dim PozOgr2 As Long Pocz = 1 Do PozOgr1 = InStr(Pocz, Tekst, Ogr1) If PozOgr1 = 0 Then Exit Do PozOgr2 = InStr(PozOgr1 + 1, Tekst, Ogr2) Wynik = Wynik & Mid(Tekst, Pocz, PozOgr1 - Pocz) Pocz = PozOgr2 + 1 Loop Wynik = Wynik & Mid(Tekst, Pocz) If BezZbednychSpacji Then PominTekst = WorksheetFunction.Trim(Wynik) Else PominTekst = Wynik End If End Function |