Text na sloupce pomocí VBA - tipy pro Excel

Obsah

Travis se ptá:

Snažím se formátovat nějaký text do samostatných sloupců. Text je v jednom sloupci takto:

A
Název společnosti A
PO BOX 1
NEWARK NJ 07101
Název společnosti B
PO BOX 2
1400 SANS SOUCI PARKWAY
WILKES-BARRE PA 18703
Název společnosti C
PO BOX 3
CHICAGO IL 60694
Název společnosti D
PO BOX 4
CLEARFIELD UT 84015
Název společnosti E
PO BOX 5
OGDEN UT 84401
Název společnosti F
PO BOX 6
BALTIMORE MD 21264-4351

Když jsem naformátoval test tak, aby vynikal, vytvořil jsem tento sloupec, jak je znázorněno výše. Chtěl bych vědět o vzorci, ke kterému můžu dát data zobrazit na jednom řádku, spíše než ve více řádcích pro společnost, vzorec by měl vyústit, pokud mi dá následující v jednom řádku, ale v různých sloupcích:

Vše na stejné ŘADĚ

A B C
Název společnosti A PO BOX 1 NEWARK NJ 07101

Používám vlookups a hlookups a kontingenční tabulky, ale nemohu přijít na to, jak získat datum, pokud je řádek po řádku.

Byl jsem schopen přimět názvy společností, aby se zobrazovaly řádek po řádku v jednom sloupci tříděním, a přišel jsem na to, že bych mohl použít kombinaci vlookup s hlookup, aby mi dal výsledky, které jsem hledal, ale nevím správný vzorec pro vnoření do vyhledávání etheru. Také jsem testoval některé funkce DSUM, ale žádný pro mě nepracuje? Dejte mi tedy vědět, co nebo jak vyřešit můj problém.

Myslím, že to lze snadno dosáhnout pomocí makra. Zkus tohle.

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

Zajímavé články...