Bien que, comme le dit MasterMix, cela est plus facile à réaliser par une formule, si vous avez une raison pour laquelle VBA doit être utilisé alors cela dépend de la façon dont vous souhaitez spécifier les cellules.
Vous pouvez le faire en fonction:
Private Function addTwoCells(rngA As Range, rngB As Range) As String
addTwoCells = rngA & rngB
End Function
Tout cela ne fait reproduire le (beaucoup plus rapide) fonction intégrée Excel concaténer bien.
Vous pouvez aussi le faire dans l'une d'une centaine de façons dans une procédure, voici une façon qui invite l'utilisateur pour les gammes:
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
Vous pouvez également utiliser des plages prédéfinies et boucle à travers eux si vous avoir plusieurs gammes à combiner. Si vous expliquez un peu plus sur le scénario, quelqu'un pourrait fournir un code plus spécifique.
hi, qu'est-ce que "built-in Excel concatenate fonction"? Vous voulez dire '&'? thx –