Excel VBA Concatenate

Конкатенация может быть определена как объединение или добавление двух строк или элементов данных, чтобы получить одну строку или элемент данных, называется конкатенацией. Проще говоря, если у нас есть список имен в одном столбце и фамилия в другом столбце с помощью операции конкатенации, мы можем объединить оба и поместить в одну ячейку за доли секунды. В Excel для достижения этой конкатенации у нас есть функция рабочего листа под названием Concat (). Но такого рода функция недоступна в VBA. Мы не можем использовать concatenate () в кодировании VBA, так как он не будет работать. Таким образом, в VBA нет функций, и они не могут получить доступ к функциям рабочего листа, тогда как мы будем объединять две или более строк в VBA.

Сначала мы увидим, как мы будем работать с функцией листа, затем мы увидим то же самое в VBA. Рассмотрим две строки в Excel, как показано на скриншоте ниже.

Теперь используйте функцию объединения, чтобы объединить обе строки.

Соблюдайте формулу, D4 и E4 - это адрес ячеек, которые мы хотим объединить. Как и выше, мы можем объединить несколько строк из разных ячеек.

Как использовать функцию конкатенации Excel VBA?

Мы научимся использовать VBA Concatenate с несколькими примерами в Excel.

Вы можете скачать этот шаблон Excel для конкатенации VBA здесь - Шаблон Excel для конкатенации VBA

Конкатенация VBA - Пример № 1

Поскольку у нас нет никаких встроенных функций в VBA, объединение в VBA может быть достигнуто с помощью оператора амперсанда (&).

Мы возьмем тот же пример, который мы уже использовали для функции рабочего листа. У нас есть «Я люблю» в ячейке D4 и «Индия» в ячейке E4. Теперь мы объединим эти две строки в VBA. Перейдите на вкладку редактора VBA.

Шаг 1: Перейдите на вкладку «Разработчик» и затем выберите вкладку «Visual Basic» с левой стороны. Затем он перейдет на экран ниже.

Шаг 2: Во-первых, нам нужно создать подпроцесс с любым именем, например, конкатенацией . Для запуска подпроцесса используйте ключевое слово Sub и имя процесса «concatenation».

Код:

 Sub Concatenate () End Sub 

Шаг 3: В подпроцессе нам нужно определить строки, такие как string1, string2 и full_string, используя ключевое слово dim.

Код:

 Sub Concatenate () Dim String1 как строка Dim String2 как строка Dim full_string как конец строки 

Шаг 4: Теперь нам нужно присвоить строку «I love» для string1 и «India» для string2, используя оператор присваивания «=», как показано ниже.

Код:

 Sub Concatenate () Dim String1 в виде строки Dim String2 в виде строки Dim full_string в виде строки String1 = "I Love" String2 = "India" End Sub 

Шаг 5: Теперь скомбинируйте string1 и string2 с помощью оператора амперсанда и присвойте эту комбинацию full_string, как показано ниже. Оставьте пробел между строковыми переменными и оператором амперсанда, чтобы избежать сообщения об ошибке.

Код:

 Sub Concatenate () Dim String1 As String Dim String2 As String Dim full_string As String String1 = "Я люблю" String2 = "Индия" full_string = String1 & String2 End Sub 

Шаг 6: Теперь объединение как string1, так и string2 сохраняется в full_string. Отобразите эту строку, используя окно сообщения, как показано ниже.

Код:

 Sub Concatenate () Dim String1 As String Dim String2 As String Dim full_string As String String1 = "Я люблю" String2 = "Индия" full_string = String1 & String2 MsgBox (full_string) End Sub 

Шаг 7: Теперь пришло время выполнить процесс. Нажмите на кнопку воспроизведения, которая отмечена красным цветом. Результат появится в окне сообщения, как показано ниже.

Шаг 8: В приведенном выше примере мы взяли две строки непосредственно в программе, и между первой строкой и второй строкой нет пробела. Как добавить пространство тогда? Очень просто при объединении, объединить пространство также.

Код:

 Sub Concatenate () Dim String1 как строка Dim String2 как строка Dim full_string как строка String1 = "Я люблю" String2 = "Индия" full_string = String1 & "" & String2 MsgBox (full_string) End Sub 

Шаг 9: Посмотрите на изображение выше, мы добавили пробел между строкой1 и строкой2 с помощью двойных кавычек. В случае, если мы хотим добавить '-', мы можем сделать это также.

Код:

 Sub Concatenate () Dim String1 как строка Dim String2 как строка Dim full_string как строка String1 = "Я люблю" String2 = "Индия" full_string = String1 & "-" & String2 MsgBox (full_string) End Sub 

Шаг 10: Результат будет таким, как показано ниже.

Конкатенация VBA - Пример №2

Шаг 1: Теперь мы возьмем данные из таблицы Excel и объединим, а затем отобразим результаты. Для этого присвойте данные в ячейках string1 и string2, как показано ниже.

Код:

 Sub Concatenate2 () Dim String1 As String Dim String2 As String Dim full_string As String String1 = Ячейки (4, 4). Значение String2 = Ячейки (4, 5). Значение MsgBox (full_string) End Sub 

Шаг 2: Посмотрите на изображение выше, мы присвоили значение в ячейках (4, 4) stirng1 и ячейках (4, 5) в string2. Как обычно, объедините обе строки с помощью оператора амперсанда.

Код:

 Sub Concatenate2 () Dim String1 As String Dim String2 As String Dim full_string As String String1 = Ячейки (4, 4) .Value String2 = Ячейки (4, 5). Значение full_string = String1 & "" & String2 MsgBox (full_string) End Sub 

Шаг 3: Из-за этого все данные в ячейках (4, 4) и ячейках (4, 5) будут объединены и сохранены в full_string. Теперь выполните процесс, нажав на символ воспроизведения.

Шаг 4: Данные взяты из Excel, показанного ниже.

Шаг 5: Если мы изменим данные в Excel и перезапустим, результаты программы изменятся согласно данным Excel. Вместо Индии я перешел на сладости, теперь мы побежим и проверим.

Шаг 6: Теперь результат появляется в окне сообщения. Вместо окна сообщения, если мы хотим в самом Excel, мы можем сделать это.

Код:

 Sub Concatenate2 () Dim String1 As String Dim String2 As String Dim full_string As String String1 = Ячейки (4, 4) .Value String2 = Ячейки (4, 5). Значения Ячейки (4, 7) .Value = String1 & String2 MsgBox ( full_string) End Sub 

Шаг 7: Назначьте объединение в ячейке адреса ячейки (4, 7) и удалите msgbox, так как нам больше не нужно окно сообщения. Нажмите кнопку воспроизведения и перейдите к своему превосходному результату и проверьте, получите ли результат в ячейке (4, 7) (строка 4 и столбец 7).

Шаг 8: Поскольку мы добавляем две строки, мы можем использовать символ «+» также, как показано ниже.

Код:

 Sub Concatenate2 () Dim String1 As String Dim String2 As String Dim full_string As String String1 = Ячейки (4, 4). Значение String2 = Ячейки (4, 5). Значения Ячейки (4, 7). Значение = Строка1 + Строка2 Конец Sub 

Шаг 9: Результат будет таким, как показано ниже. Там не будет никакой разницы.

Шаг 10: Но если мы будем использовать числа вместо строк для конкатенации с использованием символа «+», он будет выполнять конкатенацию только без сложения, поскольку мы взяли тип данных как строку, а не целое число.

Шаг 11: Результат будет таким, как показано ниже.

В случае, если мы принимаем тип данных как целое число, мы должны использовать оператор амперсанда только для конкатенации. Если мы используем «+», принимая целочисленный тип данных, он не будет объединяться, а будет выполнять сложение.

Конкатенация VBA - Пример № 3

Шаг 1: Если мы хотим объединить строку и число, мы также можем применить ту же технику. Для этого сохраните числовое значение в одной ячейке и строковое значение в другой ячейке и нажмите на опцию запуска.

Шаг 2: Результат не окажет влияния, это будет тот же строковый результат, что и ранее, с единственным изменением - число вместо строки.

То, что нужно запомнить

  • Объединение состоит в объединении строк из двух или более нескольких строк из разных ячеек. Чтобы выполнить это в Excel, у нас есть встроенная функция листа, которая является CONCAT.
  • Функция concat рабочей таблицы недоступна в VBA для объединения.
  • Конкатенация будет достигнута с помощью оператора амперсанд (&) и плюс (+). Если вы используете целочисленный тип данных, то символ «+» будет выполнять операцию сложения вместо конкатенации, поэтому убедитесь в этом.
  • Используйте пробел до и после символов & и +, иначе будет выдано сообщение об ошибке.
  • При определении строковых переменных не оставляйте пробелов в имени переменной. Если в имени строковой переменной есть пробел, он не будет допущен, поскольку выдаст сообщение об ошибке, как показано ниже

Рекомендуемые статьи

Это руководство по VBA Concatenate. Здесь мы обсудим, как использовать функцию конкатенации Excel VBA вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -

  1. VBA InStr объяснил с помощью примеров
  2. Целочисленный тип данных VBA
  3. Как выбрать ячейку, используя код VBA?
  4. Транспонировать диапазон в VBA

Категория: