Just learnt it a few days back from one of my office colleagues...how to concatenate a range of values with other range without having to run a loop. Download the attachment to see how it works. Also check its code and modify it to suit your needs.
'Concatenate values in range B2:10 & C2:C10 and
'display the result in A2:A10
Dim rng As Range
Set rng = Sheet1.Range("A2:A10") 'Change it as per you requirement
'This is what is generated as a parameter of Evaluate in this procedure
rng.Value = Evaluate("If(Row(1:" & rng.Rows.Count & ")," & rng.Offset(, _
1).Address(, , , True) & " & " & rng.Offset(, 2).Address(, , , True) & ")")