Конкатенат VBA | Як об’єднати струни разом у 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 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 For i = 2 To 9 Cells (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