Ten samouczek pokaże, jak używać funkcji Len VBA, aby uzyskać długość ciągu.
Funkcja Len
Funkcja VBA Len zwraca długość określonego ciągu.
Liczba znaków VBA Len
Funkcja VBA Len zlicza znaki w ciągu.
1234567891011121314151617 | Przykładowa linia podrzędna_1()MsgBox Len("12345") 'Wynik to: 5MsgBox Len("12") 'Wynik: 2MsgBox Len("1") 'Wynik: 1MsgBox Len(" ") 'Wynik: 1– Jest tam postać kosmiczna.MsgBox Len("") 'Wynik to: 0MsgBox Len("AB Cd") 'Wynik to: 5Napis końcowy |
VBA Len Ciągi lub warianty
Funkcja VBA Len może zliczać liczbę znaków w zmiennych zadeklarowanych jako ciągi lub warianty. W rzeczywistości VBA Len potraktuje wariant jako ciąg. Jeśli VBA Len jest używany z liczbą całkowitą, długą, pojedynczą lub podwójną, wówczas VBA Len będzie liczyć liczbę bajtów potrzebnych do przechowania zmiennej.
123456789101112131415161718192021222324252627282930313233 | Przykładowa linia podrzędna_2()Dim VarEx1 jako ciągZm.Ex1 = 12345MsgBox Len(VarEx1) 'Wynik to: 5„Len liczy liczbę znaków w zmiennej”Dim VarEx2 jako wariantVarEx2 = 12345MsgBox Len(VarEx2) 'Wynik to: 5„Len liczy liczbę znaków w zmiennej”Dim VarEx3 jako liczba całkowitaZm.Ex3 = 12345MsgBox Len(VarEx3) 'Wynik: 2„Len liczy liczbę bajtów używanych do przechowywania zmiennej”Dim VarEx4 tak długoVarEx4 = 12345MsgBox Len(VarEx4) 'Wynik: 2„Len liczy liczbę bajtów używanych do przechowywania zmiennej”Dim VarEx5 jako pojedynczyVarEx5 = 12345MsgBox Len(VarEx5) 'Wynik: 2„Len liczy liczbę bajtów używanych do przechowywania zmiennej”Dim VarEx6 jako podwójnyVarEx6 = 12345MsgBox Len(VarEx6) 'Wynik: 2„Len liczy liczbę bajtów używanych do przechowywania zmiennej”Napis końcowy |
VBA Len Policz wystąpienia postaci
Funkcja VBA Len może być używana z funkcją VBA Replace, aby zliczyć, ile razy znak został znaleziony w ciągu.
VBA Replace Function może zastąpić podciąg innym podciągiem w tekście:
1 | MsgBox Replace("XBCX", "X", "7") 'Wynik: "7BC7" |
Możemy użyć opcji Zamień, aby usunąć znaki, które chcemy policzyć za pomocą „”, a następnie znaleźć różnicę w długości przed i po zastąpieniu.
1234567891011121314 | Przykładowa linia podrzędna_3()Dim StrEx As String 'Zdefiniuj zmienną łańcuchowąStrEx = "Jack,Jan,Jim,Jordan"MsgBox Len(StrEx) - Len(Replace(StrEx, ",", "")) 'Wynik to: 3'Złamanie powyższego koduMsgBox Len(StrEx) 'Wynik to: 20MsgBox Replace(StrEx, ",", "") 'Wynik: "JackJohnJimJordan"MsgBox Len(Replace(StrEx, ",", "")) 'Wynik to: 17MsgBox Len(StrEx) - Len(Replace(StrEx, ",", "")) 'Wynik: 20-17=3Napis końcowy |
VBA Len Count Wystąpienia podciągu
Funkcja VBA Len może być używana z funkcją VBA Replace do zliczania, ile razy podciąg został znaleziony w ciągu.
VBA Replace Function może zastąpić podciąg innym podciągiem w tekście:
1 | MsgBox Replace("XB cX", "X", "7") 'Wynik: "7B c7" |
Możemy użyć opcji Zamień, aby usunąć podciągi, które chcemy policzyć za pomocą „”, a następnie znaleźć różnicę w długości przed i po zastąpieniu. Na koniec musimy podzielić różnicę przez długość zastępowanego podciągu.
12345678910111213141516171819 | Przykładowa linia podrzędna_4()Dim StrEx As String 'Zdefiniuj zmienną łańcuchowąStrEx = "Jack, John, Jim, Jordan"Dim SubStr As String 'Zdefiniuj zmienną podłańcuchowąSubStr = ", "„Sprawimy, ile razy SubStr znajduje się w StrEx”MsgBox (Len(StrEx) - Len(Replace(StrEx, SubStr, ""))) / Len(SubStr) 'Wynik: 3„Złamanie powyższego kodu”MsgBox Len(StrEx) 'Wynik to: 23MsgBox Replace(StrEx, SubStr, "") 'Wynik: "JackJohnJimJordan"MsgBox Len(Replace(StrEx, SubStr, "")) 'Wynik to: 17MsgBox Len(StrEx) - Len(Replace(StrEx, SubStr, "")) 'Wynik: 23-17=6MsgBox (Len(StrEx) - Len(Replace(StrEx, SubStr, ""))) / Len(SubStr)„Wynik to: (23-17)/2=3Napis końcowy |