Funkcje ciągów i podciągów VBA

VBA ma wiele funkcji ciągów, które pozwolą ci manipulować i pracować z tekstem i ciągami w kodzie. W tym samouczku omówimy funkcje, które pozwolą Ci wyodrębnić podciągi z ciągów, usunąć spacje z ciągów, przekonwertować wielkość liter w tekście lub ciągu, porównać ciągi i inne przydatne funkcje ciągów.

Wyodrębnianie podciągu

Funkcja lewego ciągu VBA

Funkcja VBA Left pozwala wyodrębnić podciąg z tekstu lub ciągu, zaczynając od lewej strony. Składnia funkcji lewego ciągu VBA to:

Left(Ciąg, Liczba_znaków) gdzie:

  • Ciąg - oryginalny tekst.
  • Liczba_znaków - Liczba całkowita określająca liczbę znaków do wyodrębnienia z oryginalnego tekstu, zaczynając od początku.

Poniższy kod pokazuje, jak użyć funkcji Left String w celu wyodrębnienia pierwszych czterech znaków z danego ciągu:

1234567891011 Sub przy użyciu funkcjiLeftString()Wartość przyciemnienia Jeden jako ciągWartość dim Two As StringvalueOne = "Automatyzacja Excela"wartośćDwa = Lewa(wartośćJeden; 4)MsgBox wartość DwaNapis końcowy

Wynik to:

Funkcja Left wyodrębniła pierwsze cztery litery AutomateExcel, które są Auto.

Funkcja prawego ciągu VBA

Funkcja VBA Right umożliwia wyodrębnienie podciągu z tekstu lub ciągu, zaczynając od prawej strony. Składnia funkcji prawego ciągu VBA to:

Prawo(ciąg, liczba_znaków) gdzie:

  • Ciąg - oryginalny tekst.
  • Liczba_znaków - Liczba całkowita określająca liczbę znaków do wyodrębnienia z oryginalnego tekstu, począwszy od końca.

Poniższy kod pokazuje, jak użyć funkcji Right String, aby wyodrębnić cztery ostatnie znaki ciągu:

1234567891011 Sub przy użyciu funkcjiRightString()Wartość przyciemnienia Jeden jako ciągWartość dim Two As StringvalueOne = "Automatyzacja Excela"wartośćDwa = Prawo(wartośćJeden; 4)MsgBox wartość DwaNapis końcowy

Wynik to:

Właściwa funkcja wyodrębniła ostatnie cztery litery AutomateExcel, którymi są xcel.

Funkcja VBA Mid String

Funkcja VBA Mid umożliwia wyodrębnienie podciągu z tekstu lub ciągu, zaczynając od dowolnej pozycji w ciągu, który określisz. Składnia funkcji VBA Mid String Function to:

Mid(Ciąg, Pozycja_początkowa, [Liczba_znaków]) gdzie:

  • Ciąg - oryginalny tekst.
  • Pozycja_początkowa - pozycja w oryginalnym tekście, od której funkcja rozpocznie wyodrębnianie.
  • Liczba_znaków (Opcjonalny) - Liczba całkowita określająca liczbę znaków do wyodrębnienia z oryginalnego tekstu, zaczynając od pozycji początkowej. Jeśli jest puste, funkcja MID zwróci wszystkie znaki z pozycji początkowej.

Poniższy kod pokazuje, jak użyć funkcji Mid String, aby wyodrębnić cztery znaki, zaczynając od drugiej pozycji lub znaku w ciągu:

1234567891011 Sub za pomocą funkcjiMidString()Wartość przyciemnienia Jeden jako ciągWartość dim Two As StringvalueOne = "Automatyzacja Excela"wartośćDwa = Mid(wartośćJeden; 2, 4)MsgBox wartość DwaNapis końcowy

Wynik jest wyprowadzany do msgbox:

Funkcja Mid wyodrębniła cztery litery AutomateExcel, zaczynając od drugiego znaku / pozycji / litery, które są utom.

Znajdowanie pozycji podciągu

Funkcja ciągu instrukcji VBA

Funkcja VBA Instr zwraca pozycję początkową podciągu w innym ciągu. W tej funkcji rozróżniana jest wielkość liter. Składnia funkcji VBA Instr String Function to:

Instr([Początek], Ciąg, Podciąg, [Porównaj]) gdzie:

  • Początek (Opcjonalny) - określa pozycję początkową funkcji, od której ma być wyszukiwane. Jeśli puste, używana jest wartość domyślna 1.
  • Ciąg - oryginalny tekst.
  • Podciąg- Podciąg w oryginalnym tekście, którego położenie chcesz znaleźć.
  • Porównywać (Opcjonalny)- Określa rodzaj porównania, które należy wykonać. Jeśli puste, używane jest porównanie binarne.

-vbBinaryCompare - Porównanie binarne (wielkie i małe litery są traktowane jako różne)
-vbTextCompare - Porównanie tekstu (wielkie i małe litery są traktowane jako takie same)
-vbDatabaseCompare - porównanie bazy danych (ta opcja jest używana tylko w programie Microsoft Access i jest porównaniem na podstawie bazy danych)

Poniższy kod pokazuje, jak używać funkcji Instr String w celu określenia pierwszego wystąpienia podciągu „Th” w ciągu głównym:

123456789101112 Sub za pomocą funkcjiInstrString()Wartość przyciemnienia Jeden jako ciągDim positionofSubstring As IntegervalueOne = "To jest tekst"positionofSubstring = InStr(1, valueOne, "Th")Debug.Print positionofSubstringNapis końcowy

Wynik (wyprowadzany do okna bezpośredniego) to:

Funkcja Instr zwróciła pozycję pierwszego wystąpienia podciągu „Th”, która wynosi 1. Zauważ, że ta funkcja zawiera spacje w liczniku.

Funkcja ciągu znaków VBA InstrRev

Funkcja VBA InstrRev zwraca pozycję początkową podciągu w innym ciągu, ale rozpoczyna liczenie pozycji od końca ciągu. W tej funkcji rozróżniana jest wielkość liter. Składnia funkcji napisów VBA InstrRev to:

InstrRev(Ciąg, Podciąg, [Początek], [Porównaj]) gdzie:

  • Ciąg - oryginalny tekst.
  • Podciąg- Podciąg w oryginalnym tekście, którego położenie chcesz znaleźć.
  • Początek (Opcjonalny) - określa pozycję, od której należy rozpocząć wyszukiwanie. Jeśli puste, funkcja rozpoczyna wyszukiwanie od ostatniego znaku.
  • Porównywać (Opcjonalny)- Określa rodzaj porównania, które należy wykonać. Jeśli puste, używane jest porównanie binarne.

-vbBinaryCompare - Porównanie binarne (wielkie i małe litery są traktowane jako różne)
-vbTextCompare - Porównanie tekstu (wielkie i małe litery są traktowane jako takie same)
-vbDatabaseCompare - porównanie bazy danych (ta opcja jest używana tylko w programie Microsoft Access i jest porównaniem na podstawie bazy danych)

Poniższy kod pokazuje, jak używać funkcji ciągu InstrRev do określenia pierwszego wystąpienia podciągu „Th” w ciągu głównym, zaczynając od końca ciągu:

1234567891011 Sub przy użyciu funkcjiInstrRevStringFunction()Wartość przyciemnienia Jeden jako ciągDim positionofSubstring As IntegervalueOne = "To jest tekst"positionofSubstring = InStrRev(valueOne, "Th")Debug.Print positionofSubstringNapis końcowy

Wynik jest wyprowadzany do okna bezpośredniego:

Funkcja InstrRev zwróciła pozycję pierwszego wystąpienia podciągu „Th”, ale rozpoczynając liczenie od końca, którym jest 9. Zauważ, że ta funkcja zawiera spacje w liczniku.

Usuwanie spacji z ciągu

Funkcja ciągu znaków VBA LTrim

Funkcja VBA LTrim usuwa wszystkie spacje wiodące z tekstu lub ciągu. Składnia funkcji napisów VBA LTrim jest następująca:

LTrim(ciąg) gdzie:

  • Ciąg - oryginalny tekst.

Poniższy kod pokazuje, jak używać funkcji VBA LTrim do usuwania spacji wiodących w danym ciągu:

123456789101112 Sub Korzystanie TheLTrimStringFunction()Wartość przyciemnienia Jeden jako ciągWartość dim Two As StringvalueOne = " To jest adres witryny https://easyexcel.net/excel/"valueTwo = LTrim(valueOne)MsgBox wartośćJedenMsgBox wartość DwaNapis końcowy

Wyniki to:

Funkcja LTrim usunęła spacje wiodące dla wartości dwa, co jest pokazane w drugim oknie komunikatu.

Funkcja ciągu znaków VBA RTrim

Funkcja VBA RTrim usuwa wszystkie końcowe spacje z tekstu lub ciągu. Składnia funkcji ciągu VBA RTrim to:

RTrim(ciąg), gdzie:

  • Ciąg - oryginalny tekst.

Poniższy kod pokazuje, jak używać funkcji VBA RTrim, aby usunąć końcowe spacje w danym ciągu:

123456789101112 Sub KorzystanieTheRTrimStringFunction()Wartość przyciemnienia Jeden jako ciągWartość dim Two As StringvalueOne = "To jest adres strony https://easyexcel.net/excel/ "valueTwo = RTrim(valueOne)MsgBox wartośćJedenMsgBox wartość DwaNapis końcowy

Dostarczone wyniki to:

Funkcja RTrim usunęła końcowe spacje dla wartości dwa, co jest pokazane w drugim oknie komunikatu.

Funkcja ciągów przycinania VBA

Funkcja przycinania VBA usuwa wszystkie spacje wiodące i końcowe z tekstu lub ciągu. Składnia funkcji VBA Trim String Function to:

Trim(Ciąg), gdzie:

  • Ciąg - oryginalny tekst.

Poniższy kod pokazuje, jak używać funkcji przycinania VBA do usuwania spacji wiodących i końcowych w danym ciągu:

123456789101112 Sub Używając FunkcjiTrimString()Wartość przyciemnienia Jeden jako ciągWartość dim Two As StringvalueOne = " To jest adres witryny https://easyexcel.net/excel/ "valueTwo = Przytnij(valueOne)MsgBox wartośćJedenMsgBox wartość DwaNapis końcowy

Wyniki to:

Funkcja Trim usunęła spacje wiodące i końcowe dla wartości dwa, co jest pokazane w drugim oknie komunikatu.

Funkcje przypadku VBA

Funkcja ciągu znaków VBA Lcase

Funkcja VBA LCase konwertuje litery w tekście lub ciągu na małe litery. Składnia funkcji napisów VBA LCase jest następująca:

LCase(Ciąg), gdzie:

  • Ciąg - oryginalny tekst.

Poniższy kod pokazuje, jak użyć funkcji LCase String, aby przekonwertować wszystkie litery w danym ciągu na małe litery:

1234567891011 Sub przy użyciu funkcji TheLCaseString()Wartość przyciemnienia Jeden jako ciągWartość dim Two As StringvalueOne = "TO JEST PRODUKT"valueTwo = LCase(valueOne)MsgBox wartość DwaNapis końcowy

Wynik to:

Funkcja LCase przekonwertowała wszystkie litery w ciągu na małe.

Funkcja ciągu VBA UCase

Funkcja VBA UCase konwertuje litery w tekście lub ciągu na wielkie litery. Składnia funkcji ciągów VBA UCase to:

UCase(Ciąg), gdzie:

  • Ciąg - oryginalny tekst.

Poniższy kod pokazuje, jak używać funkcji ciągów UCase do konwersji wszystkich liter w danym ciągu na wielkie litery:

1234567891011 Sub Używając Funkcji UCaseString()Wartość przyciemnienia Jeden jako ciągWartość dim Two As StringvalueOne = "to jest produkt"valueTwo = UCase(valueOne)MsgBox wartość DwaNapis końcowy

Wynik to:

Funkcja UCase przekonwertowała wszystkie litery w ciągu na duże.

Funkcja VBA StrConv

Funkcja VBA StrConv może konwertować litery w tekście lub ciągu na wielkie, małe litery, właściwe litery lub Unicode w zależności od określonego typu konwersji. Składnia funkcji ciągów VBA StrConv to:

StrConv(ciąg, konwersja, [LCID]), gdzie:

  • Ciąg - oryginalny tekst.
  • Konwersja - żądany typ konwersji.
  • [LCID] (Opcjonalny) -Opcjonalny parametr określający LocaleID. Jeśli puste, używany jest system LocaleID.

Poniższy kod pokazuje, jak używać funkcji ciągu StrConv do konwersji ciągu na poprawną wielkość liter:

1234567891011 Sub KorzystanieTheStrConvStringFunction()Wartość przyciemnienia Jeden jako ciągWartość dim Two As StringvalueOne = "to jest produkt"valueTwo = StrConv(valueOne, vbProperCase)MsgBox wartość DwaNapis końcowy

Wynik to:

Typ konwersji, którą chcesz wykonać, określasz za pomocą parametru konwersji:

  • vbLowerCase konwertuje wszystkie litery w tekście na małe.
  • vbUpperCase konwertuje wszystkie litery w tekście na duże.
  • vbProperCase konwertuje pierwszą literę każdego słowa w tekście na wielką literę, podczas gdy wszystkie pozostałe litery są zachowywane jako małe.
  • vbUnicode konwertuje ciąg do Unicode.
  • vbFromUnicode konwertuje ciąg znaków z Unicode na domyślną stronę kodową systemu.

Porównywanie ciągów

Funkcja VBA StrComp

Funkcja ciągu znaków VBA StrComp umożliwia porównanie dwóch ciągów znaków. Funkcja zwraca:

  • 0, jeśli dwa ciągi pasują do siebie
  • -1 jeśli string1 jest mniejszy niż string2
  • 1, jeśli ciąg1 jest większy niż ciąg2
  • Wartość null, jeśli którykolwiek z ciągów był Null

Poniższy kod pokazuje, jak używać funkcji StrComp do porównywania dwóch ciągów:

123456789101112 Sub KorzystanieTheStrCompStringFunction()Wartość przyciemnienia Jeden jako ciągWartość dim Two As StringDim wynik porównania jako liczba całkowitavalueOne = "Automatyzacja Excela"valueTwo = "AutomateExcel"resultofComparison = StrComp(valueOne, valueTwo)Debug.Wydrukuj wynik porównaniaNapis końcowy

Wynik to:

Funkcja StrComp znalazła dokładne dopasowanie między dwoma ciągami i zwróciła 0.

Operator podobny do VBA

Operator podobny do VBA umożliwia porównanie tekstu lub ciągu ze wzorcem i sprawdzenie, czy istnieje dopasowanie. Zwykle używałbyś operatora Like w połączeniu z symbolami wieloznacznymi. Poniższy kod pokazuje, jak używać operatora Like:

123456789101112 Sub przy użyciu operatora podobnego do VBA()Wartość przyciemnienia Jeden jako ciągvalueOne = "Zobaczmy wyniki"Jeśli valueOne Like „*widok*” WtedyMsgBox "Istnieje dopasowanie, ten ciąg zawiera widok wyrazów"W przeciwnym razieMsgBox "Nie znaleziono dopasowania"Zakończ, jeśliNapis końcowy

Wynik to:

Symbole wieloznaczne, których możesz użyć z operatorem Like, aby znaleźć dopasowania wzorców, obejmują:

  • ? który pasuje do jednego znaku
  • # co pasuje do jednej cyfry
  • * co pasuje do zera lub więcej znaków

Poniższy kod pokazuje, w jaki sposób można użyć operatora Like i ? symbol wieloznaczny, aby dopasować wzorzec w kodzie:

123456789101112 Sub przy użyciu operatora podobnego do dzikiej karty w VBA()Wartość przyciemnienia Jeden jako ciągvalueOne = "The"Jeśli valueOne Like „??e” WtedyMsgBox "Istnieje dopasowanie, znaleziono pasujący wzorzec"W przeciwnym razieMsgBox "Nie znaleziono dopasowania"Zakończ, jeśliNapis końcowy

Dostarczony wynik to:

Inne przydatne funkcje ciągów VBA

Funkcja zastępowania ciągu VBA

Funkcja zastępowania VBA zastępuje zestaw znaków w ciągu innym zestawem znaków. Składnia funkcji VBA Replace String Function to:

Replace(String, Find, Replace, [Start], [Count], [Compare]), gdzie:

  • Ciąg - oryginalny tekst.
  • Znajdź - podciąg do wyszukania w oryginalnym tekście.
  • Zamień - podciąg, który ma zastąpić podciąg Znajdź.
  • Początek (Opcjonalny)- Miejsce rozpoczęcia wyszukiwania w oryginalnym tekście. Jeśli jest puste, używana jest wartość 1, a funkcja rozpoczyna się od pierwszej pozycji znaku.
  • Liczyć (Opcjonalny)– liczba wystąpień podciągu Znajdź w oryginalnym tekście do zastąpienia. Jeśli jest puste, wszystkie wystąpienia podciągu Find są zastępowane.
  • Porównywać (Opcjonalny)- Określa rodzaj porównania, które należy wykonać. Jeśli puste, używane jest porównanie binarne.

    -vbBinaryCompare - Porównanie binarne
    -vbTextCompare - Porównanie tekstu
    -vbDatabaseCompare - porównanie bazy danych (ta opcja jest używana tylko w programie Microsoft Access i jest porównaniem na podstawie bazy danych).

Poniższy kod pokazuje, jak używać funkcji Replace String:

1234567891011 Sub Korzystanie Funkcja ZamieńString()Wartość przyciemnienia Jeden jako ciągWartość dim Two As StringvalueOne = "ProduktABC"valueTwo = Replace(valueOne, "ABC", "XYZ")MsgBox wartość DwaNapis końcowy

Wynik to:

Funkcja Replace znalazła podciąg ABC w ProductABC i zastąpiła go podciągiem XYZ.

Funkcja VBA StrReverse

Funkcja VBA StrReverse odwraca znaki w danym tekście lub ciągu. Składnia funkcji VBA StrReverse String to:

StrReverse(Ciąg) gdzie:

  • Ciąg - oryginalny tekst.

Poniższy kod pokazuje, jak używać funkcji VBA StrReverse do odwracania znaków w ciągu Product:

1234567891011 Sub Używanie funkcjiStrReverseString()Wartość przyciemnienia Jeden jako ciągWartość dim Two As StringvalueOne = "Produkt"valueTwo = StrReverse(valueOne)MsgBox wartość DwaNapis końcowy

Wynik to:

Funkcja VBA Len String

Funkcja VBA Len zwraca liczbę znaków w ciągu tekstowym. Składnia funkcji VBA Len String Function to:

Len(Ciąg), gdzie:

  • Ciąg - oryginalny tekst.

Poniższy kod pokazuje, jak używać funkcji Len String w celu określenia długości ciągu AutomateExcel:

1234567891011 Sub przy użyciu funkcjiLen()Wartość przyciemnienia Jeden jako ciągDim stringLength As IntegervalueOne = "Automatyzacja Excela"stringLength = Len(valueOne)Debug.Print stringLengthNapis końcowy

Wynik to:

Funkcja Len policzyła wszystkie znaki w tekście AutomateExcel, który ma 13 liter.

wave wave wave wave wave