Конкатенація – це об'єднання кількох рядків в один. В VBA для з'єднання рядків використовують знак & (амперсанд).
Приклад злиття рядків в VBA
Sub myCode()
concatenatio = "Доброго вечора," & " " & "ми з України!"
MsgBox (concatenatio)
End Sub
Результат об'єднання рядків має тип даних String. Тому, навіть якщо вираз не є рядком, то він все рівно буде перетворений на тип String.
Приклад
Sub myCode()
concatenatio = "Доброго вечора," & " " & "ми з України! " & 2022 & " рік"
MsgBox (concatenatio)
End Sub
В даному прикладі, 2022 ми не помістили в лапки. Але VBA розуміє, що ми намагаємося виконати об'єднання рядків і тому число 2022 буде перетворено на тип String.
Конкатенація в VBA
Для наочності та закріплення теми, давайте розглянемо ще один приклад, в якому буде виконано конкатенацію змінних, які мають різний тип даних.
Sub myCode()
Dim a As String
Dim b As String
Dim n As Integer
a = "Доброго вечора, "
b = "ми з України! "
n = 2022
concatenatio = a & b & n
MsgBox (concatenatio)
End Sub
У цьому прикладі, незважаючи на те, що для змінної n ми явно вказали тип Integer (ціле число), компілятор VBA, перетворює його на тип String, оскільки у виразі відбувається саме злиття рядків.