Tento tutoriál předvede, jak pomocí funkce Len VBA získat délku řetězce.
Len Funkce
Funkce VBA Len vrací délku zadaného řetězce.
Počet znaků VBA Len
Funkce VBA Len počítá znaky v řetězci.
1234567891011121314151617 | Sub LenExample_1 ()MsgBox Len ("12345") 'Výsledek je: 5Výsledek MsgBox Len ("12") je: 2Výsledek MsgBox Len ("1") je: 1Výsledek MsgBox Len ("") je: 1"Je tam vesmírná postava."Výsledek MsgBox Len ("") je: 0Výsledek MsgBox Len ("AB Cd") je: 5End Sub |
Řetězce nebo varianty VBA Len
Funkce VBA Len může počítat počet znaků v proměnných deklarovaných jako řetězce nebo varianty. Ve skutečnosti bude VBA Len považovat variantu za řetězec. Pokud se VBA Len používá s celým číslem, dlouhým, jednoduchým nebo dvojitým, pak VBA Len bude počítat počet bajtů potřebných k uložení proměnné.
123456789101112131415161718192021222324252627282930313233 | Sub LenExample_2 ()Dim VarEx1 jako řetězecVarEx1 = 12345MsgBox Len (VarEx1) 'Výsledek je: 5„Len počítá počet znaků v proměnnéDim VarEx2 jako variantaVarEx2 = 12345MsgBox Len (VarEx2) 'Výsledek je: 5„Len počítá počet znaků v proměnnéDim VarEx3 jako celé čísloVarEx3 = 12345MsgBox Len (VarEx3) 'Výsledek je: 2„Len počítá počet bajtů použitých k uložení proměnnéDim VarEx4 jako dlouhýVarEx4 = 12345MsgBox Len (VarEx4) 'Výsledek je: 2„Len počítá počet bajtů použitých k uložení proměnnéDim VarEx5 jako jedenVarEx5 = 12345MsgBox Len (VarEx5) 'Výsledek je: 2„Len počítá počet bajtů použitých k uložení proměnnéDim VarEx6 jako dvojitýVarEx6 = 12345MsgBox Len (VarEx6) 'Výsledek je: 2„Len počítá počet bajtů použitých k uložení proměnnéEnd Sub |
VBA Len Počet výskytů postavy
Funkci VBA Len lze použít s funkcí VBA Replace a spočítat, kolikrát je znak nalezen v řetězci.
Funkce nahrazení VBA může nahradit podřetězec jiným podřetězcem v textu:
1 | MsgBox Replace ("XBCX", "X", "7") 'Výsledek je: "7BC7" |
Můžeme použít Nahradit k odstranění znaků, které chceme počítat s „“, a poté najít rozdíl v délce před a po výměně.
1234567891011121314 | Sub LenExample_3 ()Dim StrEx As String 'Definujte proměnnou řetězceStrEx = "Jack, John, Jim, Jordan"MsgBox Len (StrEx) - Len (Replace (StrEx, ",", ""))) 'Výsledek je: 3"Rozdělení kódu výše."MsgBox Len (StrEx) 'Výsledek je: 20MsgBox Replace (StrEx, ",", "" ") 'Výsledek je:" JackJohnJimJordan "MsgBox Len (Nahradit (StrEx, ",", "")) 'Výsledek je: 17MsgBox Len (StrEx) - Len (Replace (StrEx, ",", ""))) 'Výsledek je: 20-17 = 3End Sub |
VBA Len Počet výskytů podřetězce
Funkci VBA Len lze použít s funkcí VBA Replace a spočítat, kolikrát se v řetězci nachází podřetězec.
Funkce nahrazení VBA může nahradit podřetězec jiným podřetězcem v textu:
1 | MsgBox Replace ("XB cX", "X", "7") 'Výsledek je: "7B c7" |
Můžeme použít Nahradit k odstranění podřetězců, které chceme počítat s „“, a poté najít rozdíl v délce před a po výměně. Nakonec musíme rozdělit rozdíl s délkou podřetězce, který jsme nahradili.
12345678910111213141516171819 | Sub LenExample_4 ()Dim StrEx As String 'Definujte proměnnou řetězceStrEx = "Jack, John, Jim, Jordan"Dim SubStr As String 'Definujte proměnnou podřetězceSubStr = ","„Zjistíme, kolikrát se SubStr nachází uvnitř StrExMsgBox (Len (StrEx) - Len (Replace (StrEx, SubStr, ""))) / Len (SubStr) 'Výsledek je: 3"Rozdělení kódu výše."MsgBox Len (StrEx) 'Výsledek je: 23MsgBox Replace (StrEx, SubStr, "") 'Výsledek je: "JackJohnJimJordan"MsgBox Len (Nahradit (StrEx, SubStr, "")) 'Výsledek je: 17MsgBox Len (StrEx) - Len (Replace (StrEx, SubStr, "")) 'Výsledek je: 23-17 = 6MsgBox (Len (StrEx) - Len (Replace (StrEx, SubStr, ""))) / Len (SubStr)'Výsledek je: (23-17)/2 = 3End Sub |