Текст към колони с помощта на VBA - Съвети за Excel

Съдържание

Травис пита:

Опитвам се да форматирам малко текст в отделни колони. Текстът е в една колона, както следва:

A
Име на компанията A
PO BOX 1
NEWARK NJ 07101
Име на фирма Б
PO BOX 2
1400 SANS SOUCI PARKWAY
WILKES-BARRE PA 18703
Име на компанията C
PO BOX 3
ЧИКАГО IL 60694
Име на компанията D
PO BOX 4
CLEARFIELD UT 84015
Име на компанията E
PO BOX 5
OGDEN UT 84401
Име на компанията F
PO BOX 6
BALTIMORE MD 21264-4351

Когато форматирах теста, за да превъзходя, направих тази колона, както е илюстрирано по-горе. Бих искал да знам за формула, към която мога да накарам данните да се показват на един ред, а не на няколко реда, за на компанията, която формулата трябва да доведе, ако ми даде следното в един ред, но в различни колони:

Всички в един и същ ред

A Б. ° С
Име на компанията A PO BOX 1 NEWARK NJ 07101

Използвам vlookups и hlookups и обобщени таблици, но не мога да разбера как да получа датата, ако ред по ред.

Успях да накарам имената на компании да се появяват ред по ред в една колона чрез сортиране и реших, че бих могъл да използвам комбинация от vlookup с hlookup, за да ми дам резултатите, които търся, но не знам правилна формула за гнездене в търсенето на етер. Тествал съм и някои DSUM функции, но нито една не работи за мен? Така че, моля да ме уведомите какво или как да реша проблема си.

Мисля, че това може лесно да бъде постигнато с помощта на макрос. Опитай това.

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

Интересни статии...