VBA Concatenate | Как объединить строки в VBA?

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

Конкатенационные строки VBA

VBA Concatenate - одна из тех вещей, которые мы использовали для объединения двух или более значений ячеек значений вместе, если я говорю на простом языке, что они объединяются, это объединение двух или более значений вместе, чтобы иметь полное значение.

У нас есть функция CONCATENATE в excel, которая объединяет два или более значений или два или более значений ячеек вместе.

Но в VBA у нас нет встроенной функции для объединения двух или более значений. Фактически, у нас даже нет доступа к классу функции рабочего листа, чтобы получить доступ к функции VBA CONCATENATE как функции рабочего листа.

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

Если у нас нет какой-либо встроенной функции для объединения значений, и даже функция рабочего листа не интегрирована с VBA. Теперь проблема в том, как нам сочетать ценности?

Несмотря на то, что встроенных функций нет, мы можем комбинировать в VBA, используя символ «амперсанд» (&).

Если вы регулярно следите за нашими публикациями, мы часто используем символ амперсанда (&) в нашей кодировке.

Например, если у вас есть имя и фамилия отдельно, мы можем объединить эти два и сделать их полным именем. Выполните следующие действия, чтобы самостоятельно написать код макроса VBA.

Шаг 1. Перейдите в редактор Visual Basic и создайте подпроцедуру VBA.

Шаг 2: Определите три переменные как String .

Код:

 Sub Concatenate_Example () Dim First_Name As String Dim Last_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, используя переменную амперсанда.

Код:

 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 For i = от 2 до 9 ячеек (i, 3). Value = Cells (i, 1) & "" & Cells (i, 2) Next i End 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