VGnet.dk - StrengeKoden anvendes helt på eget ansvar! Indhold:
Indsæt en streng i en anden strengFunction IndsaetStr(StrHel As String, StrDel As String, Pos As Integer) As String ' (C) Copyright Lars Vangsgaard ' Indsætter en delstreng i en streng på en given position (base 1) If Pos > 0 Then If Pos > Len(StrHel) Then IndsaetStr = StrHel & StrDel Else IndsaetStr = Left(StrHel, Pos - 1) & StrDel & Right(StrHel, Len(StrHel) - Pos + 1) End If Else IndsaetStr = StrDel & StrHel End If End Function Slet en delstreng fra en anden strengVersion 1: sletter kun første forekomst af strengen. Function SletStr(StrHel As String, StrDel As String) As String ' (C) Copyright Lars Vangsgaard ' Sletter en delstreng fra en streng Dim Pos Pos = InStr(1, StrHel, StrDel, vbTextCompare) If Pos > 0 Then SletStr = Left(StrHel, Pos - 1) & Right(StrHel, Len(StrHel) - Len(StrDel) - Pos + 1) Else SletStr = StrHel End If End Function Version 2: sletter alle forekomster af strengen. Function SletAlleStr(StrHel As String, StrDel As String) As String ' (C) Copyright Lars Vangsgaard ' Sletter alle forekomster af en delstreng fra en streng Dim Pos, StrH As String StrH = StrHel Pos = InStr(1, StrH, StrDel, vbTextCompare) Do While Pos > 0 StrH = Left(StrH, Pos - 1) & Right(StrH, Len(StrH) - Len(StrDel) - Pos + 1) Pos = InStr(1, StrH, StrDel, vbTextCompare) Loop SletAlleStr = StrH End Function Omvend en strengEn streng kan omvendes med VBA-standardfunktionen StrReverse(streng)Her er imidlertid en alternativ udgave: Function OmvendStr(IndStreng) As String ' (C) Copyright Lars Vangsgaard ' Omvender en streng Dim i As Integer, StrLgd As Integer OmvendStr = "" StrLgd = Len(IndStreng) For i = 1 To StrLgd OmvendStr = OmvendStr & Mid(IndStreng, 1 + StrLgd - i, 1) Next i End Function Et element i en tegnsepareret listeEn streng kan f.eks. være en kommasepareret samling af delstrenge. Funktionen finder et element efter nummer fra listen. Function Delstreng(streng As String, skilletegn As String, nummer As String) As String ' (C) Copyright Lars Vangsgaard ' Et element efter nummer fra en tegnsepareret samling af delstrenge Dim h As Variant h = Split(streng, skilletegn) If nummer <= UBound(h) + 1 Then Delstreng = h(nummer - 1) Else Delstreng = "" End If End Function Siden er oprettet 25-12-2006 og sidst opdateret 14-01-2007 22:53. █ |