VBA MID функция - Как да използвам функцията Excel VBA MID?

Съдържание

Excel VBA MID функция

Функцията VBA MID извлича стойностите от средата на предоставеното изречение или дума. Функцията MID е категоризирана по функцията String и Text и е функция на работен лист, което означава, че за да използваме тази функция във VBA, трябва да използваме метода application.worksheet.

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

Синтаксис

Подобно на нашата функция excel MID, и в VBA тя има подобен набор от синтаксисни стойности. По-долу е синтаксисът.

  • String to Search: Това не е нищо друго освен какво е изречението на string, т.е. от кой низ или дума искате да извлечете стойностите.
  • Начална позиция: От коя позиция на изречението искате да извлечете. Това трябва да е числова стойност.
  • Брой символи за извличане: Колко символа искате да извлечете от началната позиция? Това също трябва да е числова стойност.

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

Пример # 1

Да приемем, че имате думата „Здравей, добро утро“ и искате да извлечете „Добро“ от това изречение. Следвайте стъпките по-долу, за да извлечете стойността.

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

Код:

Sub MID_VBA_Example1 () Край Sub

Стъпка 2: Декларирайте променлива като „STRING“.

Код:

Sub MID_VBA_Example1 () Dim MiddleValue As String End Sub

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

Код:

Sub MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid (End Sub)

Стъпка 4: Първият аргумент е String, т.е. от коя стойност искаме да извлечем. Така че нашата стойност е „Здравей, добро утро.“

Код:

Sub MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid ("Hello Good Morning", End Sub

Стъпка 5: Следващата е началната позиция на знака, който искате да извлечете. В този случай Добро утро започва от 7 -ми знак.

Забележка: Пространството също е символ.

Код:

Sub MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid ("Hello Good Morning", 7 End Sub

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

Код:

Sub MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid ("Hello Good Morning", 7, 4) End Sub

Стъпка 7: Попълнихме формулата. Нека покажем резултата от променливата в полето за съобщения.

Код:

Sub MID_VBA_Example1 () Dim MiddleValue As String MiddleValue = Mid ("Hello Good Morning", 7, 4) MsgBox MiddleValue End Sub

Стъпка 8: Сега стартирайте този код ръчно или натиснете клавиша F5, полето за съобщение трябва да показва думата „Добър“.

Изход:

Пример # 2

Да приемем, че имате собствено име и фамилия заедно и думата е „Рамеш, Тендулкар“. Между Име и Фамилия разделителният знак е запетая (,). Сега трябва да извлечем само първото име.

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

Код:

Sub MID_VBA_Example2 () Затъмняване на първото име като низ в края Sub

Стъпка 2: Сега задайте стойност на тази променлива чрез функцията MID.

Код:

Sub MID_VBA_Example2 () Dim FirstName As String FirstName = Mid (End Sub)

Стъпка 3: Нашият низ е „Ramesh.Tendulkar“, така че въведете тази дума.

Код:

Sub MID_VBA_Example2 () Dim FirstName As String FirstName = Mid ("Ramesh, Tendulkar", End Sub

Стъпка 4: Тъй като извличаме първото име, началната позиция е 1.

Код:

Sub MID_VBA_Example2 () Dim FirstName As String FirstName = Mid ("Ramesh, Tendulkar", 1, End Sub

Стъпка 5: Дължина на знака, който можете директно да въведете като 6, но това не е най-добрият начин. За да определим дължината, нека приложим още една формула, наречена Instr.

Код:

Sub MID_VBA_Example2 () Dim FirstName As String FirstName = Mid ("Ramesh, Tendulkar", 1, InStr (End Sub)

Стъпка 6: За тази изходна позиция е 1.

Код:

Sub MID_VBA_Example2 () Dim FirstName As String FirstName = Mid ("Ramesh, Tendulkar", 1, InStr (1, End Sub)

Стъпка 7: Низ 1 е нашето име, т.е. „Рамеш, Тендулкар“.

Код:

Sub MID_VBA_Example2() Dim FirstName As String FirstName = Mid("Ramesh,Tendulkar",1,InStr(1,"Ramesh,Tendulkar", End Sub

Step 8: String 2 what is the separator of first name & last name, i.e., comma (,).

Code:

Sub MID_VBA_Example2() Dim FirstName As String FirstName = Mid("Ramesh,Tendulkar",1,InStr(1,"Ramesh,Tendulkar",",") End Sub

Note: Instr function will return how many characters are there in the word “Ramesh, Tendulkar” from the string 1 position to the string 2 positions, i.e., until comma (,). So Instr will return 7 as a result, including comma (,).

Step 9: Since Instr function returns no., of characters including comma (,) we need to minus 1 character here. So enter -1 after the close of Instr function.

Code:

Sub MID_VBA_Example2() Dim FirstName As String FirstName = Mid("Ramesh,Tendulkar", 1, InStr(1, "Ramesh,Tendulkar", ",") - 1) End Sub

Step 10: Now show the value of the variable in the message box.

Code:

Sub MID_VBA_Example2() Dim FirstName As String FirstName = Mid("Ramesh,Tendulkar", 1, InStr(1, "Ramesh,Tendulkar", ",") - 1) MsgBox FirstName End Sub

Step 11: Run this code using the F5 key, or you can run this code manually. We would get the first name in the message box.

Output:

Example #3

Now I will give you one assignment to solve. I have a list of First Name & Last Name.

From this list, I want you to extract the first name only. All the best!!!!.

Ok, If you have tried and not able to get the result, then the below code would help you in this.

Code:

Sub MID_VBA_Example3 () Dim i As Long For i = 2 до 15 клетки (i, 2). Стойност = Mid (клетки (i, 1). Стойност, 1, InStr (1, клетки (i, 1). Стойност, " , ") - 1) Следващ i Край Sub

Копирайте и поставете горния код във вашия модул. След като копирате кода, стартирайте този код с помощта на клавиша F5 или можете да стартирате ръчно.

Трябва да даде резултат като по-долу.

Неща за запомняне

  • Аргументът за дължина във функцията MID не е задължителен. Ако пренебрегнете това, стойността по подразбиране ще отнеме 1.
  • За да определите дължината или началната позиция, използвайте функцията Instr заедно с функцията MID.

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