Хотя, как говорит MasterMix, этого легче всего достичь формулой, если у вас есть причина, по которой необходимо использовать VBA, это зависит от того, как вы хотите указать ячейки.
Вы можете сделать это как функцию:
Private Function addTwoCells(rngA As Range, rngB As Range) As String
addTwoCells = rngA & rngB
End Function
Все, что это делает, это копирует (намного быстрее) встроенную функцию конкатенации Excel.
Вы также можете сделать это одним из ста способов в процедуре, вот один способ, который запрашивает у пользователя диапазоны:
Private Sub addTwoCellsProc()
Dim rngA As String
Dim rngB As String
Dim rngOutput As String
Dim rngTest As Range
Do
rngA = InputBox("Please enter first cell address", "Cell A")
rngA = Range(rngA).Cells(1, 1).Address
Set rngTest = Intersect(Range(rngA).Cells(1, 1), ActiveSheet.Cells)
Loop Until Not rngTest Is Nothing
Do
rngB = InputBox("Please enter second cell address", "Cell B")
rngB = Range(rngB).Cells(1, 1).Address
Set rngTest = Intersect(Range(rngB), ActiveSheet.Cells)
Loop Until Not rngTest Is Nothing
Do
rngOutput = InputBox("Please enter destination cell address", "Output cell")
Set rngTest = Intersect(Range(rngOutput), ActiveSheet.Cells)
Loop Until Not rngTest Is Nothing
Range(rngOutput) = Range(rngA) & Range(rngB)
End Sub
Вы также можете использовать предопределенные диапазоны и проходить по ним, если у вас есть несколько диапазонов для объединения. Если вы объясните немного больше о сценарии, то кто-то может предоставить более конкретный код.