Top-office11.ru

IT и мир ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Left vba excel

Работа со строками в VBA: InStr, LCASE, UCase, Left, Right, Mid, LTrim, RTrim, Trim, Len, Replace, Space, StrComp, String, StrReverse

В этой статье разберем работу со строками в VBA на примерах функций InStr, LCASE, UCase, Left, Right, Mid, LTrim, RTrim, Trim, Len, Replace, Space, StrComp, String, StrReverse.

Строки — это последовательность символов, которая может состоять либо из алфавитов, цифр, специальных символов, либо из всех них. Переменная называется строкой, если она заключена в двойные кавычки «».

Синтаксис

Примеры

Строковые функции

Существуют предопределенные функции VBA String, которые помогают разработчикам эффективно работать со строками. Ниже приведены методы String, поддерживаемые в VBA. Пожалуйста, нажмите на каждый из методов, чтобы знать подробно.

Название функции и описание

InStr

Функция InStr возвращает первое вхождение одной строки в другую строку. Поиск происходит слева направо.

Синтаксис

Параметр Описание

  • Пуск — необязательный параметр. Указывает начальную позицию для поиска. Поиск начинается с первой позиции слева направо.
  • String1 — требуемый параметр. Строка для поиска.
  • String2 — требуемый параметр. Строка, по которой выполняется поиск String1.
  • Compare — Необязательный параметр. Указывает сравнение строк.Он может принимать следующие значения.
  • 0 = vbBinaryCompare — выполняет двоичное сравнение (по умолчанию)
  • 1 = vbTextCompare — выполняет сравнение текста

пример

Добавьте кнопку и добавьте следующую функцию.

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

Line 1 : 6
Line 2 : 0
Line 3 : 8
Line 4 : 9
Line 5 : 2
Line 6 : 16
Line 7 : 11

Возвращает первое вхождение указанной подстроки. Поиск происходит слева направо.

Функция InStrRev возвращает первое вхождение одной строки в другую строку. Поиск происходит справа налево.

Синтаксис

Параметр Описание

  • String1 — требуемый параметр. Строка для поиска.
  • String2 — требуемый параметр. Строка, по которой выполняется поиск String1.
  • Пуск — необязательный параметр. Указывает начальную позицию для поиска. Поиск начинается с первой позиции справа налево.
  • Compare — Необязательный параметр. Указывает сравнение строк.Он может принимать следующие значения.
  • 0 = vbBinaryCompare — выполняет двоичное сравнение (по умолчанию)
  • 1 = vbTextCompare — выполняет сравнение текста

пример

Добавьте кнопку и установите следующую функцию.

После выполнения вышеуказанного скрипта он производит следующий результат.

Line 1 : 6
Line 2 : 6
Line 3 : 8
Line 4 : 0
Line 5 : 2
Line 6 : 2
Line 7 : 0

Возвращает первое вхождение указанной подстроки. Поиск происходит справа налево.

LCASE

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

Синтаксис

пример

Добавьте кнопку и поместите следующую функцию внутри нее.

После выполнения вышеуказанного скрипта он производит следующий вывод.

Line 1 : microsoft vbscript
Line 2 : ms vbscript
Line 3 : microsoft

Возвращает нижний регистр указанной строки.

UCase

Функция UCase возвращает строку после преобразования введенной строки в буквы буквы UPPER.

Синтаксис

пример

Добавьте кнопку и поместите следующую функцию внутри нее.

После выполнения вышеуказанного скрипта он производит следующий вывод.

Line 1 : MICROSOFT VBSCRIPT
Line 2 : MS VBSCRIPT
Line 3 : MICROSOFT

Возвращает верхний регистр указанной строки.

Функция Left возвращает указанное количество символов с левой стороны данной входной строки.

Синтаксис

Параметр Описание

  • String — обязательный параметр. Строка ввода, из которой указанное число символов должно быть возвращено с левой стороны.
  • Длина — требуемый параметр. Целое число, определяющее количество возвращаемых символов.

пример

Добавьте кнопку и добавьте следующую функцию.

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

Line 1 : Mi
Line 2 : MS VB
Line 3 : microsoft

Возвращает определенное количество символов с левой стороны строки.

Right

Функция Right возвращает указанное количество символов с правой стороны данной входной строки.

Синтаксис

Параметр Описание

  • String — обязательный параметр. Строка ввода, из которой указанное число символов должно быть возвращено с правой стороны.
  • Длина — требуемый параметр. Целое число, которое задает количество возвращаемых символов.

пример

Добавьте кнопку и добавьте следующую функцию.

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

Line 1 : pt
Line 2 : CRIPT
Line 3 : microsoft

Возвращает определенное количество символов с правой стороны строки.

Mid функция возвращает указанное количество символов из заданной входной строки.

Синтаксис

Параметр Описание

  • String — обязательный параметр. Строка ввода, из которой задано количество символов, которые нужно вернуть.
  • Начало — требуемый параметр. Целое число, определяющее начальную позицию строки.
  • Длина — необязательный параметр. Целое число, определяющее количество возвращаемых символов.

Добавьте кнопку и добавьте следующую функцию.

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

Line 1 : icrosoft VBScript
Line 2 : icros
Line 3 : osoft V

Возвращает определенное количество символов из строки на основе указанных параметров.

LTrim

Функция Ltrim удаляет пробелы с левой стороны строки.

Синтаксис

пример

Добавьте кнопку и добавьте следующую функцию.

Когда вы выполняете функцию, она производит следующий вывод.

After Ltrim : Microsoft VBScript

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

RTrim

Функция Rtrim удаляет пробелы с правой стороны строки.

Синтаксис

пример

Добавьте кнопку и добавьте следующую функцию.

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

After Rtrim : Microsoft VBScript

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

Функция Trim удаляет как ведущее, так и конечное пустое пространство данной входной строки.

Синтаксис

пример

Добавьте кнопку и добавьте следующую функцию.

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

After trim : Microsoft VBScript

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

Функция Len возвращает длину данной входной строки, включая пробелы.

Синтаксис

пример

Добавьте кнопку и добавьте следующую функцию.

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

Length of var1 is : 18
Length of var2 is : 36

Возвращает длину данной строки.

Replace

Функция Replace заменяет указанную часть строки на определенную строку, указанное количество раз.

Синтаксис

Параметр Описание

  • String — обязательный параметр. Строка ввода, которую нужно искать для замены.
  • Find — требуемый параметр. Часть строки, которая будет заменена.
  • Replacewith — обязательный параметр. Строка замены, которая будет заменена на параметр find.
  • Start — необязательный параметр. Задает начальную позицию, из которой нужно искать и заменять строку. Значение по умолчанию — 1.
  • Count — необязательный параметр. Указывает количество раз, которое должна выполняться замена.
  • Compare — Необязательный параметр. Указывает метод сравнения, который будет использоваться. Значение по умолчанию — 0.
  • 0 = vbBinaryCompare — выполняет двоичное сравнение
  • 1 = vbTextCompare — выполняет текстовое сравнение
Читать еще:  Excel vba формула в ячейке

пример

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

Line 1: This is MS VBScript Programming
Line 2: This is vbScript Programming
Line 3: Th## ## VBScript Programming
Line 4: ## VBScript Programming
Line 5: Thi## i## VBScript Programming
Line 6: This is VBSc##ipt P##og##amming
Line 7: This is VBScrip## Programming

Возвращает строку после замены строки другой строкой.

Space

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

Синтаксис

Параметр Описание

Номер — требуемый параметр. Количество пробелов, которые мы хотим добавить к данной строке.

пример

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

Заполняет строку указанным количеством пробелов.

StrComp

Функция StrComp возвращает целочисленное значение после сравнения двух заданных строк. Он может возвращать любое из трех значений -1, 0 или 1 на основе входных строк для сравнения.

  • Если String1 меньше String2, то StrComp возвращает -1
  • Если String1 равно String2, то StrComp возвращает 0
  • Если String1 больше String2, то StrComp возвращает 1

Синтаксис

Параметр Описание

  • String1 — требуемый параметр. Первое строковое выражение.
  • String2 — требуемый параметр. Второе строковое выражение.
  • Compare — Необязательный параметр. Указывает сравнение строк.Он может принимать следующие значения.
  • 0 = vbBinaryCompare — выполняет двоичное сравнение (по умолчанию)
  • 1 = vbTextCompare — выполняет сравнение текста

пример

Добавьте кнопку и добавьте следующую функцию.

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

Line 1 :0
Line 2 :1
Line 3 :1
Line 4 :0
Line 5 :1

Возвращает целочисленное значение после сравнения двух указанных строк.

String

Функция String заполняет строку указанным символом для указанного количества раз.

Синтаксис

Параметр Описание

  • Номер — требуемый параметр. Целочисленное значение, которое будет повторяться в течение определенного количества раз против параметра символа.
  • Символ — требуемый параметр. Значение символа, которое должно повторяться определенное количество раз.

пример

Добавьте кнопку и добавьте следующую функцию.

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

Line 1 :$$$
Line 2 :****
Line 3 :ddddd
Line 4 :AAAAAA

Возвращает строку с указанным символом для указанного количества раз.

StrReverse

Функция StrReverse меняет указанную строку.

Синтаксис

пример

Добавьте кнопку и добавьте следующую функцию.

Когда вы выполняете вышеуказанную функцию, она производит следующий вывод.

Line 1 : TPIRCSBV
Line 2 : tpircSBV tsriF yM
Line 3 : 54.321

Возвращает строку после изменения последовательности символов данной строки.

VBA Left

VBA Left Function

Left Function is used to extract N number of characters from a string from the left side. Left function is one of the VBA inbuilt functions that MS Excel provides. N is the number of characters which a user wants to extract from the string.

In other words, we use the Left VBA function to extract the leftmost substring from a string given by the user in excel. It can be used as a VBA function as well as a worksheet function in the excel. It can be used as the as a part of the formula in the cell.

Valuation, Hadoop, Excel, Mobile Apps, Web Development & many more

Syntax of Left Function in Excel VBA

VBA Left function has the following syntax:

How to Use Excel VBA Left Function?

We will learn how to use a VBA Left function with few examples in Excel.

VBA Left Function – Example #1

Let’s assume, there is a text_1 string which value is ‘Microsoft Excel’. If a user wants to display only the first word of the string. So, how a user will be able to display the first word only.

Here the Left function can solve his problem, So follow the below steps to use Left function in Excel VBA.

Step 1: Open the MS Excel, go to Example #1 Sheet where the user wants to display the first word from the string ‘Microsoft Excel’.

Step 2: Go to the Developer tab >> Click on the Visual Basic.

Step 3: Create one Left_Example1() micro and inside declare a string as the text_1.

Code:

Step 4: Assign text_1 the result of the left function output.

Code:

Step 5: For display the result a user needs to add MsgBox.

Code:

Step 6: Click on the F8 button to run step by step or just click on the F5 button.

Summary of Example #1:

As the user wants to display the first word from the string by using the left function we have achieved the output.

VBA Left Function – Example #2

Let’s find out how to use the Left Function in MS Excel for getting the first name of the employee from the employee table.

Let’s assume, there is an employee table in which some strings are available like ‘Employee Name’, ‘Home City’ and a monthly salary of each employee. If a user wants to display only the first Name of each employee of his office. So, how a user will be able to display the first name only.

Here the Left function can solve this problem, So follow the below steps to use Left function in Excel VBA.

Step 1: Open MS Excel, go to Example #2 Sheet where the user wants to display the first Name from the Employee data table.

Step 2: Go to the developer tab >> Click on the Visual Basic.

Step 3: Create one Left_Example2() micro and inside declare a string as the FirstName and ‘i’ as an integer for a loop.

Code:

Step 4: Start loop and assign FirstName the result of the left function output.

Code:

Step 5: For display, the completion of a task just add a MsgBox.

Code:

Step 6: Click on the F8 button to run step by step or just click on the F5 button.

Summary of Example #2:

As the user wants to display the first name from the employee table by using the left function we have achieved the output.

Читать еще:  Excel сложить две строки

VBA Left Function – Example #3

Let’s see how to use the Left Function in the MS Excel for getting salary in thousands of employees from the employee table.

Let’s assume, there is an employee table in which some strings are available like ‘Employee Name’, ‘Home City’ and a monthly salary of each employee. If a user wants to display only the salary in thousands of each employee of his office. So, how a user will be able to display the first name only.

Here the Left function can solve this problem, So follow the below steps to use Left function in Excel VBA.

Step 1: Open MS Excel, go to Example #3 Sheet where the user wants to display the salary in thousands from the Employee data table.

Step 2: Go to the developer tab >> Click on the Visual Basic.

Step 3: Create one Left_Example3() micro and inside declare a string as the Salary and ‘i’ as an integer for loop

Code:

Step 4: Start loop and assign FirstName the result of the left function output.

Code:

Step 5: For display, the completion of a task just adds a MsgBox.

Code:

Step 6: Click on the F8 button to run step by step or just click on the F5 button.

Summary of Example #3:

As the user wants to display the salary in Thousands from the employee table by using the left function we have achieved the output.

Things to Remember

  • The Left function always returns string/text as the output in excel VBA.
  • If the Text value is Null, then it will return Null as the output.
  • The Left function can extract characters from the left side only.
  • We can use InStr function to find the space in VBA, by this a user can easily differentiate the word in the sentence.
  • Whenever a user needs a substring from the left side in the provided string they need to use the Left function to get it.

Recommended Articles

This has been a guide to VBA Left Function. Here we discussed on how to use Excel VBA Left Function along with practical examples and downloadable excel template. You can also go through our other suggested articles –

All in One Software Development Bundle (600+ Courses, 50+ projects)

VBA Left Function

Excel VBA Left

VBA Left is also one of the worksheet functions categorized under the text functions which is used in VBA with the application. worksheet method, it returns the specified number of characters from the left part of the string.

Some of the excel functions are integrated with VBA as well. Of all the many text functions, VBA LEFT is one of those functions we use quite often than other formulas.

If you know excel LEFT function, then VBA LEFT function is exactly the same. It can extract the characters from the left side of the string or value given by the user.

The syntax of the LEFT function is exactly the same as in the worksheet function.

It has two arguments.

  • String: This nothing but the value or cell reference. From this value, we are looking to chop the characters.
  • Length: How many characters you want to extract from the string you have supplied. This should be a numerical value.

How to use Excel VBA Left Function?

Example #1

Assume you have a word “Sachin Tendulkar” and you want only the first 6 characters from this word. We will show how to extract from left using the LEFT function in VBA.

Step 1: Create a macro name and Define variable as String.

Code:

Step 2: Now assign a value to this variable

Code:

Step 3: Open LEFT function.

Code:

Step 4: First argument is to tell what is the string or value. Our value here is “Sachin Tendulkar”.

Code:

Step 5: Length is nothing but how many characters we need from the left. We need 6 characters.

Code:

Step 6: Show the value in the VBA MsgBox.

Code:

Step 7: Run the macro using the F5 key or manually through a run option to get the result in a message box.

Output:

Instead of showing the result in a message box, we can store this result in one of the cells in our excel worksheet. We just need to add the cell reference and variable value.

Code:

Now if you run this code we will get the value in cell A1.

Example #2 – LEFT with Other VBA Functions

In the above case, we have directly supplied the length of the characters we need from the left direction, but this is more suitable for one or two values. Assume below is the list of values you have in your excel sheet.

In each case first name characters are different from one to another, we cannot directly specify the number of characters we needed from each name.

This is where the beauty of other functions will come into the picture. In order to supply the number of characters dynamically, we can use “VBA Instr” function.

In the above set of names, we need all the characters from the left until we reach space character. So Instr function can return those many characters.

Step 1: Similarly start a macro name and define a variable as a string.

Code:

Step 2: Assign the value to the variable through the LEFT function.

Code:

Step 3: Here we need to refer the cell to get the value from the cells. So write the code as CELLE (2,1).Value.

Читать еще:  Excel длина текста в ячейке

Code:

Step 4: Next thing is how many characters we need. After applying the LEFT function don’t enter the length of the characters manually, Apply the Instr function.

Code:

Step 5: Store this result in the B2 cell. So the code is CELLS (2,2).value = FirstName

Code:

Step 6: Run this code manually or through F5 we will get the first name.

We got the first name for the one name, but we have several other names as well. We cannot write 100 lines of code to extract, then how do we extract?

This is where the beauty of loops comes into the picture. Below is the loop code which can eliminate all the unwanted steps and can do the job in 3 lines.

Code:

If you run this code we will get first name values.

Output:

Things to Remember

  • Left can extract only from left.
  • VBA Instr function finds the position of the supplied in character in the string.

Recommended Articles

This has been a gu >. Below are some useful excel articles related to VBA –

Excel VBA Left and Right functions

The Left and Right functions are used to chop characters from a string. Use Left to chop characters from the start of the string; use Right to chop characters starting from the end of the string. In between the round brackets of Left and Right you type the number of characters you want to chop. If you miss out the number of characters to chop then Left and Right extract just one character from the start or end of the string. Some example might clear things up.

Create a new Sub and try this code out (you can use your spreadsheet from the previous section for this:

Dim Email As String

MsgBox Left(Email, 9)

MsgBox Right(Email, 9)

The first two lines just set up a String variable and place an email address in the Email variable. The third line is a message box that uses the Left function:

MsgBox Left(Email, 9)

When you run the code you’ll see that the message box displays the first 9 characters of the email address, everything to the left of the @ sign.

The fourth line is this:

MsgBox Right(Email, 9)

The Right function will display 9 characters starting from the final character in the email address, everything to the right of the @ sign.

That’s fairly straightforward, we’re sure you’ll agree. But now for a more complex use of Left and Right.

Suppose you have a full name in cell A1 in this format:

However, suppose you want to have the surname first then the first name. This format:

You can use Left, Right and the InStr Functions to achieve this.

Create a new Sub and call it LastFirst. Now set up four variables, three Strings and an Integer:

Dim FullName As String
Dim FirstName As String
Dim LastName As String
Dim SpacePos As Integer

Place the full name in the FullName variable:

FullName = «David Gilmour»

Now use InStr to locate the position of the space in the name:

To get just the first name you can start at the beginning of the full name and go up to the SpacePos minus 1:

FirstName = Left(FullName, SpacePos — 1)

The reason why you need to deduct 1 from the SpacePos variable is because the InStr function will return the position of the space, a value of 6 for our name. The final character of the first name, however, is 1 less than this, as David only has 5 characters in it.

To get the last name, we need something slightly different. The starting position is the length of the full name minus the length of the first name. This will get us the correct number of characters to grab starting from the right of the name. The code is this:

LastName = Right(FullName, Len(FullName) — Len(FirstName))

So as the final parameter of Right we have this:

This uses the Len function to get the length of the FullName and FirstName variables.

Finally, display the results in a message box:

MsgBox (LastName & «, » & FirstName)

We have the LastName variable first and then the FirstName. The two are separated by concatenation symbols (&). We also need a comma, and we have this in double quotes so that VBA sees it as text. So we’re saying, «Join together the Last Name, then a comma, then the First Name».

The whole of your code, then, should look like this:

Run your code and you should see this message box:

Click OK to return to your code. Now type a new name. Change this line, for example:

FullName = «David Gilmour»

FullName = «William Shakespeare»

Run your code again and the message box will display this:

That final exercise illustrates that the more string functions you know and are comfortable with the more you can achieve in your programming.

(NOTE: The above code only works for names that have two parts. It will fall down if the name is, say, David Lloyd George. But there is an easier way to do the exercise above, and one that will cover names of any length: by using the Split function. You’ll see how to achieve all this after we cover something called Arrays. If you want to jump ahead, the page is here: Arrays and the Split function.)

In the next lesson, we’ll look at one final string function — Mid.

Ссылка на основную публикацию
Adblock
detector