Text to Columns Using VBA
February 10, 2002 - by Juan Pablo Gonzalez
Travis asks:
I am trying to format some text into separate columns. The text is in one column as follows:
A Company Name A PO BOX 1 NEWARK NJ 07101 Company Name B PO BOX 2 1400 SANS SOUCI PARKWAY WILKES-BARRE PA 18703 Company Name C PO BOX 3 CHICAGO IL 60694 Company Name D PO BOX 4 CLEARFIELD UT 84015 Company Name E PO BOX 5 OGDEN UT 84401 Company Name F PO BOX 6 BALTIMORE MD 21264-4351 When I formatted the test to excel I made this column as illustrated above. I would like to know of a formula to which I can make the data appear on one row rather than in multiple rows for on company the formula should result if giving me that following in one row but in different columns:
All on the same ROW
A B C Company Name A PO BOX 1 NEWARK NJ 07101
I have use vlookups and hlookups and pivot tables but I can’t figure out how to get the date if a row-by-row way.
I have been able to get company names to appear row-by-row in one column by sorting and I figured that I could use a combination of a vlookup with a hlookup to give me the results I was looking for but I do not know the proper formula to nest in the ether lookup. I’ve also tested some DSUM function but none are working for me? So please let me know what or how to fix my problem.
I think this can be easily achivied using a macro. Try this one.
Sub CopyAcross()
Dim i As Long
Dim NRow As Long
Dim LastRow As Long
NRow = 2 'First Row TO COPY, change this if you want
i = 2 'First Row where the data appears, I assumed it started in A2
LastRow = Range("A65536").End(xlUp).Row
While i <= LastRow
Range(Cells(i, 1), Cells(i, 1).End(xlDown)).Copy
Cells(NRow, 2).PasteSpecial Transpose:=True 'In here, I'm copying to Column 2, Next availabe Row. You can change the 2 if you want.
NRow = NRow + 1
i = Cells(i, 1).End(xlDown).End(xlDown).Row
Wend
End Sub