Trimiteți text către coloane folosind VBA - Sfaturi Excel

Cuprins

Travis întreabă:

Încerc să formatez un text în coloane separate. Textul se află într-o singură coloană după cum urmează:

A
Numele companiei A
CUTIE 1
NEWARK NJ 07101
Numele companiei B
CUTIE 2
1400 SANS SOUCI PARKWAY
WILKES-BARRE PA 18703
Nume companie C
CUTIE 3
CHICAGO IL 60694
Numele companiei D
CUTIE PO
CLEARFIELD UT 84015
Numele companiei E
CUTIE 5
OGDEN UT 84401
Numele companiei F
CUTIE 6
BALTIMORE MD 21264-4351

Când am formatat testul pentru excel, am făcut această coloană așa cum este ilustrat mai sus. Aș dori să știu despre o formulă la care pot face ca datele să apară pe un rând, mai degrabă decât în ​​mai multe rânduri, pentru companie, formula ar trebui să rezulte dacă mi-ar da următoarele în același rând, dar în coloane diferite:

Toate pe același ROW

A B C
Numele companiei A CUTIE 1 NEWARK NJ 07101

Am vlookup-uri și hlookup-uri și tabele pivot, dar nu pot să-mi dau seama cum să obțin data dacă este un rând cu rând.

Am reușit să fac ca numele companiilor să apară rând cu rând într-o singură coloană prin sortare și m-am gândit că aș putea folosi o combinație de vlookup cu hlookup pentru a-mi oferi rezultatele pe care le căutam, dar nu știu formula adecvată pentru a cuibări în căutarea eterului. Am testat și unele funcții DSUM, dar niciunul nu funcționează pentru mine? Așadar, vă rog să-mi spuneți ce sau cum să rezolv problema mea.

Cred că acest lucru poate fi realizat cu ușurință folosind o macro. Încearcă Aceasta.

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

Articole interesante...