I have a report wherein i need to do Text to columns for dynamic columns( columns are usually around 24-30 months). I have used the macro recording to currently perform text to columns only for fixed columns.
Expected result - I need help in getting the below macro code to perform text to columns for multiple columns dynamically
Sample report data layout
Column 1 | Column 2 | Column 3 | Column 4 | Column 5 | Column 6 |
---|---|---|---|---|---|
Data 1 | Data 2 | Data 3 | Data 4 | Data 5 | Data 6 |
Data 1 | Data 2 | Data 3 | Data 4 | Data 5 | Data 6 |
Data 1 | Data 2 | Data 3 | Data 4 | Data 5 | Data 6 |
Macro Code
Sub Txt2Columns()
Dim Wb1 As Workbook
Set Wb1 = Workbooks.Open("C:\Users\dvaan\Desktop\final_report" & ".xlsx")
Columns("A:A").Select
Range("A2", Range("A2").End(xlDown)).TextToColumns Destination:=Range("A2"), DataType:=xlDelimited, Tab:=True
Columns("B:B").Select
Range("B2", Range("B2").End(xlDown)).TextToColumns Destination:=Range("B2"), DataType:=xlDelimited, Tab:=True
Columns("C:C").Select
Range("C2", Range("C2").End(xlDown)).TextToColumns Destination:=Range("C2"), DataType:=xlDelimited, Tab:=True
Columns("D:D").Select
Range("D2", Range("D2").End(xlDown)).TextToColumns Destination:=Range("D2"), DataType:=xlDelimited, Tab:=True
Columns("E:E").Select
Range("E2", Range("E2").End(xlDown)).TextToColumns Destination:=Range("E2"), DataType:=xlDelimited, Tab:=True
Columns("F:F").Select
Range("F2", Range("F2").End(xlDown)).TextToColumns Destination:=Range("F2"), DataType:=xlDelimited, Tab:=True
Columns("A:F").AutoFit
Wb1.Save
Wb1.Close
End Sub