Свързване на VBA - Как да обединим струните заедно във VBA?

Конкатенацията означава обединяване на две стойности или два низа заедно, подобно на Excel, който използваме, или също известен като оператор за амперсанд за конкатенация, две конкатенации на два низа, които използваме и оператор като String 1 & String 2 е, докато използваме оператора &, трябва да предоставим интервали, или VBA ще го счита за дълго.

Свързващи низове на VBA

VBA Concatenate е едно от нещата, които използвахме, за да комбинираме две или повече стойности на стойности на клетки заедно. Ако кажа на прост език, че се комбинира, той обединява две или повече стойности заедно, за да има пълна стойност.

Имаме функция, наречена CONCATENATE в Excel, която ще комбинира заедно две или повече стойности или две или повече стойности на клетки.

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

Как да обединя струните във VBA?

Ако нямаме някаква вградена функция за обединяване на стойности и дори функцията на работния лист не е интегрирана с VBA. Сега предизвикателството е, как да комбинираме ценности?

Въпреки че няма вградени функции, все пак можем да комбинираме във VBA, като използваме символа „амперсанд“ (&).

Ако следите редовно нашите публикации, често използваме символа амперсанд (&) в кодирането си.

Например, ако имате собственото име и фамилията поотделно, можем да комбинираме тези две и да го направим като пълно име. Следвайте стъпките по-долу, за да напишем кода на макроса VBA сами.

Стъпка 1: Отидете в Visual Basic Editor и създайте подпроцедура VBA.

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

Код:

Sub Concatenate_Example () Dim First_Name As String Dim First_Name As String Dim Full_Name As String End Sub

Стъпка 3: Сега присвоете собственото и фамилното име на променливата.

Код:

Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" End Sub

Стъпка 4: Сега комбинирайте тези две имена с променливата Full_Name, като използвате променливата ampersand .

Код:

Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Full_Name = First_Name & Last_Name End Sub

Стъпка 5: Сега покажете стойността на променливата Full_Name в полето за съобщение.

Код:

Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Full_Name = First_Name & Last_Name MsgBox Full_Name End Sub

Сега стартирайте кода; ще получим пълното име в полето за съобщение.

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

Код:

Sub Concatenate_Example () Dim First_Name As String Dim Last_Name As String Dim Full_Name As String First_Name = "Sachin" Last_Name = "Tendulkar" Full_Name = First_Name & "" & Last_Name MsgBox Full_Name End Sub

Това ще даде правилно пълно име сега.

Подобно на това, използвайки символа амперсанд, можем да обединим стойности. Сега ще решим проблема с работния лист за решаване на Име и Фамилия заедно, за да го направим пълно име.

Тъй като трябва да комбинираме много имена, трябва да използваме цикли, за да комбинираме името и фамилията. Кодът по-долу ще ви свърши работа.

Код:

Sub Concatenate_Example1 () Dim i As Integer за i = 2 до 9 клетки (i, 3). Стойност = клетки (i, 1) & "" & клетки (i, 2) Напред i Край Sub

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

Често срещана грешка в обединяването на Ampersand и VBA

Ако забележите кодовете ми, добавих интервал между стойностите и символ амперсанд. Това е от съществено значение поради естеството на програмирането на VBA.

Не можем да комбинираме стойности и символи амперсанд заедно; в противен случай ще получим грешка при компилиране, както по-долу.

VBA обединява с помощта на функцията JOIN

Във VBA можем да използваме функцията JOIN, за да комбинираме стойности. Първо, вижте синтаксиса на функцията VBA JOIN.

  • Масивът не е нищо друго освен масив, който съхранява нашите стойности - например едновременно име и фамилия.
  • Разделителят не е нищо друго освен какъв е разделителят между всяка стойност на масива, в този случай интервал.

Кодът по-долу ще покаже примера на същия.

Код:

Sub Concatenate_Example2 () Dim MyValues ​​As Variant Dim Full_Name As String MyValues ​​= Array ("Sachin", "Tendulkar") Full_Name = Join (MyValues, "") MsgBox Full_Name End Sub 

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