VBA низови и поднизови функции

VBA има много низови функции, които ще ви позволят да манипулирате и да работите с текст и низове във вашия код. В този урок ще разгледаме функции, които ще ви позволят да извличате поднизове от низове, да премахвате интервали от низове, да преобразувате случая на текст или низ, да сравнявате низове и други полезни низови функции.

Извличане на подниза

Функцията за ляв низ на VBA

Функцията VBA Left ви позволява да извлечете подниза от текст или низ, започвайки от лявата страна. Синтаксисът на функцията VBA Left String е:

Вляво (низ, брой_символи), където:

  • Низ - оригиналният текст.
  • Брой_символи - Цяло число, което определя броя на знаците за извличане от оригиналния текст, започвайки от началото.

Следният код ви показва как да използвате функцията за ляв низ за извличане на първите четири знака от дадения низ:

1234567891011 Sub UsingTheLeftStringFunction ()Dim valueOne As StringDim value Две As StringvalueOne = "AutomateExcel"valueTwo = Ляво (valueOne, 4)MsgBox valueTwoEnd Sub

Резултатът е:

Функцията Left е извлекла първите четири букви от AutomateExcel, които са Auto.

Функцията за десен низ VBA

Правата функция VBA ви позволява да извлечете подниза от текст или низ, започвайки от дясната страна. Синтаксисът на функцията за десен низ VBA е:

Вдясно (низ, Num_of_characters) където:

  • Низ - оригиналният текст.
  • Брой_символи - Цяло число, което определя броя на знаците за извличане от оригиналния текст, започвайки от края.

Следният код ви показва как да използвате функцията за десен низ за извличане на последните четири знака от низа:

1234567891011 Sub UsingTheRightStringFunction ()Dim valueOne As StringDim value Две As StringvalueOne = "AutomateExcel"valueTwo = Вдясно (valueOne, 4)MsgBox valueTwoEnd Sub

Резултатът е:

Дясната функция извлече последните четири букви на AutomateExcel, които са xcel.

Функцията за среден низ VBA

Функцията VBA Mid ви позволява да извличате подниза от текст или низ, започвайки от всяка позиция в посочения от вас низ. Синтаксисът на функцията VBA Mid String е:

В средата (низ, начална_позиция, [брой_символи]), където:

  • Низ - оригиналният текст.
  • Starting_position - Позицията в оригиналния текст, от която функцията ще започне да се извлича.
  • Брой_символи (По избор) - Цяло число, което определя броя на знаците за извличане от оригиналния текст, започващ от позицията Starting_position. Ако е празно, функцията MID ще върне всички знаци от позицията Starting_position.

Следният код ви показва как да използвате функцията Mid String за извличане на четири знака, започвайки от втората позиция или символ в низа:

1234567891011 Под използване на TheMidStringFunction ()Dim valueOne As StringDim value Две As StringvalueOne = "AutomateExcel"valueTwo = Mid (valueOne, 2, 4)MsgBox valueTwoEnd Sub

Резултатът се извежда в кутия за съобщения:

Функцията Mid извлича четирите букви на AutomateExcel, започвайки от втория знак/позиция/буква, които са utom.

Намиране на позицията на подниза

Функцията за низ на VBA Instr

VBA Instr функцията връща началната позиция на подниза в друг низ. Тази функция е чувствителна към регистъра. Синтаксисът на VBA Instr String функция е:

Instr ([Start], String, Substring, [Compare]) където:

  • Старт (По избор) - Това определя началната позиция за търсене на функцията. Ако е празно, се използва стойността по подразбиране 1.
  • Низ - оригиналният текст.
  • Подниза- Подниза в оригиналния текст, на която искате да намерите позицията.
  • Сравнете (По избор)- Това определя вида на сравнението, което трябва да се направи. Ако е празно, се използва двоично сравнение.

-vbBinaryCompare - Двоично сравнение (Горните и малките букви се считат за различни)
-vbTextCompare - Сравнение на текст (Главни и малки букви се считат за еднакви)
-vbDatabaseCompare - Сравнение на база данни (Тази опция се използва само в Microsoft Access и е сравнение въз основа на базата данни)

Следният код ви показва как да използвате функцията Instr String, за да определите първото появяване на подниза „Th“ в основния низ:

123456789101112 Под -използванеTheInstrStringFunction ()Dim valueOne As StringDim pozitionofSubstring As IntegervalueOne = "Това е текстът"positionofSubstring = InStr (1, valueOne, "Th")Отстраняване на грешки. Отпечатайте позицията на SubstringEnd Sub

Резултатът (изведен в непосредствения прозорец) е:

Функцията Instr е върнала позицията на първото появяване на подниза „Th“, която е 1. Обърнете внимание, че тази функция включва интервалите в броя.

Низовата функция VBA InstrRev

Функцията VBA InstrRev връща началната позиция на подниза в друг низ, но започва да брои позицията от края на низа. Тази функция е чувствителна към регистъра. Синтаксисът на низовата функция VBA InstrRev е:

InstrRev (String, Substring, [Start], [Compare]) където:

  • Низ - оригиналният текст.
  • Подниза- Подниза в оригиналния текст, на която искате да намерите позицията.
  • Старт (По избор) - Това определя позицията, от която да започнете търсене. Ако е празно, функцията започва да търси от последния знак.
  • Сравнете (По избор)- Това определя вида на сравнението, което трябва да се направи. Ако е празно, се използва двоично сравнение.

-vbBinaryCompare - Двоично сравнение (Горните и малките букви се считат за различни)
-vbTextCompare - Сравнение на текст (Главни и малки букви се считат за еднакви)
-vbDatabaseCompare - Сравнение на база данни (Тази опция се използва само в Microsoft Access и е сравнение въз основа на базата данни)

Следният код ви показва как да използвате функцията InstrRev String, за да определите първото появяване на подниза „Th“ в основния низ, започвайки от края на низа:

1234567891011 Sub UsingTheInstrRevStringFunction ()Dim valueOne As StringDim pozitionofSubstring As IntegervalueOne = "Това е текстът"positionofSubstring = InStrRev (valueOne, "Th")Отстраняване на грешки. Отпечатайте позицията на SubstringEnd Sub

Резултатът се извежда в непосредствения прозорец:

Функцията InstrRev е върнала позицията на първото появяване на подниза “Th”, но започва отброяването от края, който е 9. Обърнете внимание, че тази функция включва интервалите в преброяването.

Премахване на пространства от низ

Низовата функция VBA LTrim

Функцията VBA LTrim премахва всички водещи интервали от текст или низ. Синтаксисът на низовата функция VBA LTrim е:

LTrim (низ), където:

  • Низ - оригиналният текст.

Следният код ви показва как да използвате функцията VBA LTrim за премахване на водещите интервали в дадения низ:

123456789101112 Под използване на TheLTrimStringFunction ()Dim valueOne As StringDim value Две As StringvalueOne = "Това е адреса на уебсайта https://easyexcel.net/excel/"valueTwo = LTrim (valueOne)MsgBox valueOneMsgBox valueTwoEnd Sub

Резултатите са:

Функцията LTrim премахна водещите пространства за valuetwo, което е показано във второто поле за съобщения.

Низовата функция VBA RTrim

Функцията VBA RTrim премахва всички крайни интервали от текст или низ. Синтаксисът на низовата функция VBA RTrim е:

RTrim (низ), където:

  • Низ - оригиналният текст.

Следният код ви показва как да използвате функцията VBA RTrim, за да премахнете крайните интервали в дадения низ:

123456789101112 Под използване на TheRTrimStringFunction ()Dim valueOne As StringDim value Две As StringvalueOne = "Това е адреса на уебсайта https://easyexcel.net/excel/"valueTwo = RTrim (valueOne)MsgBox valueOneMsgBox valueTwoEnd Sub

Доставените резултати са:

Функцията RTrim премахна крайните пространства за valuetwo, което е показано във второто поле за съобщения.

Функцията за низ на VBA Trim

Функцията VBA Trim премахва всички начални и последни интервали от текст или низ. Синтаксисът на VBA Trim String функция е:

Подрязване (низ), където:

  • Низ - оригиналният текст.

Следният код ви показва как да използвате функцията VBA Trim за премахване на предните и задните интервали в дадения низ:

123456789101112 Под използване на TheTrimStringFunction ()Dim valueOne As StringDim value Две As StringvalueOne = "Това е адреса на уебсайта https://easyexcel.net/excel/"valueTwo = Trim (valueOne)MsgBox valueOneMsgBox valueTwoEnd Sub

Резултатите са:

Функцията Trim е премахнала предните и задните пространства за valuetwo, което е показано във второто поле за съобщения.

Функции на случая VBA

Функцията за низ VBA LCase

Функцията VBA LCase преобразува букви в текст или низ в малки букви. Синтаксисът на VBA LCase низовата функция е:

LCase (низ), където:

  • Низ - оригиналният текст.

Следният код ви показва как да използвате функцията LCase String за преобразуване на всички букви в дадения низ в малки букви:

1234567891011 Под използване на TheLCaseStringFunction ()Dim valueOne As StringDim value Две As StringvalueOne = "ТОВА Е ПРОДУКТА"valueTwo = LCase (valueOne)MsgBox valueTwoEnd Sub

Резултатът е:

Функцията LCase преобразува всички букви в низа в малки букви.

Функцията за низ VBA UCase

Функцията VBA UCase преобразува букви в текст или низ в главни букви. Синтаксисът на функцията за низ VBA UCase е:

UCase (низ), където:

  • Низ - оригиналният текст.

Следният код ви показва как да използвате функцията UCase String, за да конвертирате всички букви в дадения низ в главни букви:

1234567891011 Под използване на TheUCaseStringFunction ()Dim valueOne As StringDim value Две As StringvalueOne = "това е продуктът"valueTwo = UCase (valueOne)MsgBox valueTwoEnd Sub

Резултатът е:

Функцията UCase е преобразувала всички букви в низа в главни букви.

Функцията VBA StrConv

Функцията VBA StrConv може да преобразува букви в текст или низ в главни, малки букви, правилни букви или unicode в зависимост от вида на преобразуването, който посочите. Синтаксисът на низовата функция VBA StrConv е:

StrConv (String, Conversion, [LCID]) където:

  • Низ - оригиналният текст.
  • Преобразуване - Типът преобразуване, който искате.
  • [LCID] (По избор) -Незадължителен параметър, който определя LocaleID. Ако е празно, се използва системният LocaleID.

Следният код ви показва как да използвате функцията StrConv String за преобразуване на низ в правилен регистър:

1234567891011 Под използване на TheStrConvStringFunction ()Dim valueOne As StringDim value Две As StringvalueOne = "това е продуктът"valueTwo = StrConv (valueOne, vbProperCase)MsgBox valueTwoEnd Sub

Резултатът е:

Вие посочвате типа преобразуване, който искате да извършите, като използвате параметъра за преобразуване:

  • vbLowerCase преобразува всички букви в текста в малки букви.
  • vbUpperCase преобразува всички букви в текста в главни букви.
  • vbProperCase преобразува първата буква от всяка дума в текста в главни букви, докато всички останали букви се съхраняват като малки букви.
  • vbUnicode преобразува низ в unicode.
  • vbFromUnicode преобразува низ от unicode в кодовата страница по подразбиране на системата.

Сравняване на низове

Функцията VBA StrComp

Функцията VBA StrComp String ви позволява да сравнявате два низа. Функцията връща:

  • 0, ако двата низа съвпадат
  • -1, ако string1 е по -малък от string2
  • 1, ако string1 е по -голям от string2
  • Нулева стойност, ако някой от низовете е Null

Следният код ви показва как да използвате функцията StrComp за сравняване на два низа:

123456789101112 Под използване на TheStrCompStringFunction ()Dim valueOne As StringDim value Две As StringРезултатът от нея е сравнен като цяло числоvalueOne = "AutomateExcel"valueTwo = "AutomateExcel"резултатComparison = StrComp (valueOne, valueTwo)Отстраняване на грешки. Отпечатайте резултата от сравнениетоEnd Sub

Резултатът е:

Функцията StrComp е намерила точно съвпадение между двата низа и е върнала 0.

Операторът като VBA

VBA Like Operator ви позволява да сравнявате текст или низ с модел и да видите дали има съвпадение. Обикновено бихте използвали оператора Like подобно на заместващи символи. Следният код ви показва как да използвате Like Operator:

123456789101112 Sub UsingTheLikeOperatorInVBA ()Dim valueOne As StringvalueOne = "Нека да видим изхода"Ако valueOne Like "*view*" ТогаваMsgBox "Има съвпадение, този низ съдържа думата изглед"ИначеMsgBox "Не е намерено съвпадение"Край АкоEnd Sub

Резултатът е:

Заместващите символи, които можете да използвате с оператора Like, за да намерите съвпадения на шаблони, включват:

  • ? който съответства на един знак
  • #, който съответства на една цифра
  • * което съответства на нула или повече знаци

Следният код ви показва как бихте използвали оператора Like и оператора? заместващ знак, за да съответства на модел във вашия код:

123456789101112 Sub UsingTheLikeOperatorWithAWildcardInVBA ()Dim valueOne As StringvalueOne = "The"Ако valueOne Like "?? e" ТогаваMsgBox "Има съвпадение, модел на съвпадение е намерен"ИначеMsgBox "Не е намерено съвпадение"Край АкоEnd Sub

Доставеният резултат е:

Други полезни VBA низови функции

Функцията за заместване на низ VBA

Функцията за замяна на VBA замества набор от знаци в низ с друг набор от знаци. Синтаксисът на функцията за заместване на низ VBA е:

Замяна (Низ, Намиране, Замяна, [Старт], [Брой], [Сравняване]) където:

  • Низ - оригиналният текст.
  • Намери - подниза за търсене в оригиналния текст.
  • Замяна - подниза, с която да замените подниза Find.
  • Старт (По избор)- Позицията да започнете търсене от оригиналния текст. Ако е празно, се използва стойността 1 и функцията започва от първата позиция на знака.
  • Броя (По избор)- Броят на появата на подниза Find в оригиналния текст, който да бъде заменен. Ако е празно, всички събития на подниза Find се заменят.
  • Сравнете (По избор)- Това определя вида на сравнението, което трябва да се направи. Ако е празно, се използва двоично сравнение.

    -vbBinaryCompare - Двоично сравнение
    -vbTextCompare - Сравнение на текст
    -vbDatabaseCompare - Сравнение на база данни (Тази опция се използва само в Microsoft Access и е сравнение, основано на базата данни.)

Следният код ви показва как да използвате функцията Replace String:

1234567891011 Sub UsingTheReplaceStringFunction ()Dim valueOne As StringDim value Две As StringvalueOne = "ProductABC"valueTwo = Замяна (valueOne, "ABC", "XYZ")MsgBox valueTwoEnd Sub

Резултатът е:

Функцията Replace намери подниза ABC в ProductABC и я замени с подниза XYZ.

Функцията VBA StrReverse

Функцията VBA StrReverse обръща символите в даден текст или низ. Синтаксисът на VBA StrReverse String функция е:

StrReverse (String), където:

  • Низ - оригиналният текст.

Следният код ви показва как да използвате функцията VBA StrReverse, за да обърнете символите в низа Product:

1234567891011 Под използване на TheStrReverseStringFunction ()Dim valueOne As StringDim value Две As StringvalueOne = "Продукт"valueTwo = StrReverse (valueOne)MsgBox valueTwoEnd Sub

Резултатът е:

Струнната функция VBA Len

Функцията VBA Len връща броя на знаците в текстов низ. Синтаксисът на низовата функция VBA Len е:

Len (низ), където:

  • Низ - оригиналният текст.

Следният код ви показва как да използвате функцията Len String за определяне на дължината на низа AutomateExcel:

1234567891011 Под -използванеTheLenFunction ()Dim valueOne As StringDim stringLength As IntegervalueOne = "AutomateExcel"stringLength = Len (valueOne)Debug.Print stringLengthEnd Sub

Резултатът е:

Функцията Len преброи всички знаци в текста AutomateExcel, който е 13 букви.

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave