Свързване на 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.

Common Mistake in Ampersand VBA Concatenation

If you notice my codes I have added space character between values an ampersand symbol. This is essential because of the nature of VBA programming.

We cannot combine values and ampersand symbols together otherwise we will get Compile Error like the below.

VBA Concatenate Using JOIN Function

In VBA we can use JOIN function to combine values. First, look at VBA JOIN function syntax.

  • The array is nothing but an array that holds our values. For example both first name & last name.
  • The delimiter is nothing but what is the separator between each array value, in this case, space character.

The below code will show the example of the same.

Code:

 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