ASHIS
1/14/2015 - 1:34 PM

USEFUL MACRO: [14th Jan, 2015]

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