VBA SubString - Как да извлечете подниз с помощта на VBA функции?

Съдържание

Excel VBA SubString

SubString е част от низа или частта или символът на низа се нарича „SubString". Има три типа функция на подниза във VBA LEFT, RIGHT и MID, те са подобни на поднизовете на работния лист в Excel.

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

Често пъти в Excel, когато работим с данни, което е низът, трябва да получим само частта от низа, за да улесним целта си. Може да не се нуждаем от пълния низ, за ​​да бъде използван, но ни е необходима само частта от низа за нашето използване. Например, ако имате името „Sachin Tendulkar“, може да ви е необходима само първата част от името, т.е. само „Sachin“. Това се нарича SubString на низа в Excel VBA. За да се справим с тези низове, имаме вградени функции под функцията TEXT в категория excel.

В тази статия ще обсъдим как да получим подниза от пълния низ във VBA.

Как да използвам функциите на поднизове във VBA?

За да извлечем подниза от низа, имаме някои от вградените текстови функции, а някои от важните функции са НАЛЯВО, НАДЯСНО, INSTR и MID в Excel. Функцията Instr ще служи като поддържаща функция за останалите три функции.

Ще видим как да използваме тези функции, за да извлечем практически поднизовете на практика. Прочетете примерите по-долу, за да ги разберете.

Пример # 1 - Използване на лява функция

Ако имате пълното име като „Sachin Tendulkar“ и ви трябва само първото име, което да бъде извлечено като подниз, използвайте следния код, за да получите същото.

Стъпка 1: Създайте име на макрос и дефинирайте две променливи като String.

Код:

Sub SubString_Example1 () Dim FullName As String Dim FirstName As String End Sub

Стъпка 2: Сега задайте името „Sachin Tendulkar“ на променливата FullName .

Код:

Sub SubString_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" End Sub

Стъпка 3: Сега променливата FullName съдържа стойността на „Sachin Tendulkar.“ Сега трябва да извлечем excel VBA подниза на първото име от пълното име. И така, задайте стойността за променливата FirstName чрез функцията LEFT.

Код:

Sub SubString_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" FirstName = Left (End Sub

Стъпка 4: Първият аргумент на функцията VBA LEFT е String; че е това, което е най-пълната стойност или на цял низ. В този пример нашата пълна стойност или низ е „Sachin Tendulkar“, който се присвоява на променливата FullName.

Затова предоставете променлива FullName като аргумент.

Код:

Sub SubString_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" FirstName = Ляв край Sub

Стъпка 5: Следващият аргумент е колко символа ни трябват от низа, който сме предоставили, така че в този случай се нуждаем от първото име „ Sachin “, така че имаме нужда от 6 знака от лявата страна.

Код:

Sub SubString_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" FirstName = Left (FullName, 6) End Sub

Стъпка 6: Сега покажете резултата в поле за съобщение във VBA.

Код:

Sub SubString_Example1 () Dim FullName As String Dim FirstName As String FullName = "Sachin Tendulkar" FirstName = Left (FullName, 6) MsgBox FirstName End Sub

Стъпка 7: Стартирайте макроса, вижте първото име като подниз в полето за съобщения.

Пример # 2 - Вземете SubString отдясно

Подобно на това как сме извлекли подниза отляво по подобен начин, можем да извлечем и отдясно. Да вземем същото име като пример.

Стъпка 1: Дефинирайте две променливи като String.

Код:

Sub SubString_Example2 () Dim FullName As String Dim LastName As String End Sub

Стъпка 2: Както обикновено, присвойте стойността на променливата FullName като „Sachin Tendulkar.“

Код:

Sub SubString_Example2 () Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" End Sub

Стъпка 3: Сега, за променливата LastName, задайте стойността чрез функцията RIGHT excel.

Код:

Sub SubString_Example2 () Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" LastName = Right (End Sub

Стъпка 4: String е нашето Пълно име, така че предоставете променливата.

Код:

Sub SubString_Example2 () Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" LastName = Right (FullName, End Sub

Стъпка 5: Дължината е колко символа ни трябват от дясната страна. Нуждаем се от 9 знака от дясната страна.

Код:

Sub SubString_Example2 () Затъмняване на пълното име като низ Затъмняване на фамилното име като низ FullName = "Sachin Tendulkar" LastName = дясно (FullName, 9) End Sub

Стъпка 6: Покажете тази стойност в полето за съобщение .

Код:

Sub SubString_Example2 () Dim FullName As String Dim LastName As String FullName = "Sachin Tendulkar" LastName = Right (FullName, 9) MsgBox LastName End Sub

Стъпка 7: Стартирайте макроса. Ще видим фамилията в полето за съобщение.

Пример # 3 - Използване на функцията Instr

В горните примери имахме само едно име и директно предоставихме колко символа ни трябват отляво и отдясно. Но в случай на много имена, символите за име и фамилия не са еднакви, те ще се различават от име до име. В тези случаи не можем да предоставим броя на символите директно, за да можем да използваме функцията Instr.

Функцията Instr ще върне предоставената позиция на символа в низа. Например погледнете кода по-долу.

Код:

Sub SubString_Example3 () Затъмняване на позицията като позиция на низа = InStr (1, "Sachin", "a") MsgBox Position End Sub

InStr(1, “Sachin,” “a”), this will identify the position of the letter “a” as the first appearance in the string “Sachin.” In this case letter, “a” is in the second position. So we will get 2 as a result in the message box.

Like this, we can use the Instr function to find the space character between the first name and last name.

For example, look at the below name I have in the excel sheet.

Using LEFT, RIGHT, and Instr function, we can extract the substrings. Below is the code to extract the First Name.

Code:

Sub FirstName () Dim K As Long Dim LR As Long LR = клетки (редове. Брой, 1). Край (xIUp). Ред за K = 2 към клетки LR (K, 2). Стойност = ляво (клетки (K, 1) .Value, InStr (1, Клетки (K, 1). Стойност, "") - 1) Следващ K End Sub

Стартирайте макроса и вижте първото име като подниз в полето за съобщения.

Използвайте кода по-долу, за да извлечете фамилното име като подниз.

Код:

Sub LastName () Dim K As Long Dim LR As Long LR = клетки (редове. Брой, 1). Край (xIUp). Ред за K = 2 към клетки LR (K, 3). Стойност = дясно (клетки (K, 1) .Value, Len (Cells (K, 1)) - InStr (1, Cells (K, 1) .Value, "")) Next K End Sub

Стартирайте макроса и ще видим фамилията в полето за съобщение.

Задал съм бутона за макрос на работния лист, изтеглил съм работната книга и ги използвам.

Интересни статии...