Keresés

Új hozzászólás Aktív témák

  • Mutt

    aktív tag

    válasz andreas49 #48996 üzenetére

    Szia,

    Tedd be a fájlba a lenti UDF-et, majd használd így:

    Function TextPart(InputText, Optional Separator As String = " ", Optional PartStart As Long, Optional PartEnd As Long)
    'Separator ha nincs megadva akkor szóközként értelmezzük

    Dim arraySplit
    Dim vFelsoMeret As Long
    Dim i As Long
    Dim txtResult As String

    'szétszedjük a szöveget az elválasztójel alapján
    arraySplit = Split(InputText, Separator)
    'megnézzük hogy hány részre szedhető
    vFelsoMeret = UBound(arraySplit)

    If PartEnd = 0 Then PartEnd = PartStart

    'ha az utolsó utáni darabot kérik, akkor is az utolsót adjuk
    If PartEnd >= vFelsoMeret + 1 Then PartEnd = vFelsoMeret + 1

    'ha a legelső darab előtti kell, akkor is az elsőt adjuk vissza
    If PartStart <= 0 Then PartStart = 0

    'megadjuk a kért részt
    If PartEnd > PartStart Then
    txtResult = ""
    For i = PartStart To PartEnd - 1
    txtResult = txtResult & arraySplit(i - 1) & Separator
    Next i
    TextPart = txtResult & arraySplit(PartEnd - 1)
    Else
    TextPart = arraySplit(PartStart - 1)
    End If

    End Function

    üdv

    Ps. Microsoft365-ben van már szövegdaraboló függvény is.

    [ Szerkesztve ]

    A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel

Új hozzászólás Aktív témák