USEFUL MACRO: [14th Jan, 2015]
Private Sub SectionCONCATENATE()
Dim nROWS As Long, nCOLM As Long, c As Long
nROWS = Selection.Rows.Count
nCOLM = Selection.Columns.Count
If 1 = nCOLM And 2 < nROWS Then
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=""'"",RC[-1]," '""
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "=CONCATENATE(R[-1]C,"","",RC[-1])"
ActiveCell.Offset(-1, -1).Select
Selection.Resize(nROWS, nCOLM).Select
ActiveCell.Offset(nROWS - 1, 1).Select
Range(Selection, Selection.End(xlUp)).Select
Selection.FillDown
ActiveCell.Offset(nROWS - 2, nCOLM - 1).Select
Selection.Copy
ElseIf 1 = nCOLM And 2 = nROWS Then
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=RC[-1]"
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "=CONCATENATE(R[-1]C,"","",RC[-1])"
ActiveCell.Select
Selection.Copy
ElseIf 1 = nROWS And 2 < nCOLM Then
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "=R[-1]C"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=CONCATENATE(RC[-1],"","",R[-1]C)"
ActiveCell.Offset(-1, -1).Select
Selection.Resize(nROWS, nCOLM).Select
ActiveCell.Offset(1, nCOLM - 1).Select
Range(Selection, Selection.End(xlToLeft)).Select
ActiveCell.Select
For c = 1 To nCOLM - 2
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=CONCATENATE(RC[-1],"","",R[-1]C)"
Next c
Selection.Copy
ElseIf 1 = nROWS And 2 = nCOLM Then
ActiveCell.Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "=R[-1]C"
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = "=CONCATENATE(RC[-1],"","",R[-1]C)"
ActiveCell.Select
Selection.Copy
Else
MsgBox ("Please select either more than 1 row or more than 1 column of data!")
End If
End Sub