Текст у колоне помоћу ВБА - Екцел савети

Преглед садржаја

Травис пита:

Покушавам да форматирам неки текст у посебне колоне. Текст је у једној колони како следи:

А.
Назив компаније А
ПО БОКС 1
НЕВАРК Њ 07101
Назив компаније Б
ПО БОКС 2
1400 САНС СОУЦИ ПАРКВАИ
ВИЛКЕС-БАРРЕ ПА 18703
Назив компаније Ц.
ПО БОКС 3
ЦХИЦАГО ИЛ 60694
Назив компаније Д.
ПО БОКС 4
ЦЛЕАРФИЕЛД УТ 84015
Назив компаније Е.
ПО БОКС 5
ОГДЕН УТ 84401
Назив компаније Ф.
ПО БОКС 6
БАЛТИМОР МД 21264-4351

Када сам форматирао тест да би се истакао, направио сам ову колону као што је горе приказано. Желео бих да знам за формулу према којој могу да учиним да се подаци приказују у једном реду, а не у више редова, јер за компанију формула треба да резултира ако ми даје следеће у једном реду, али у различитим колонама:

Све у истом РЕДУ

А. Б. Ц.
Назив компаније А ПО БОКС 1 НЕВАРК Њ 07101

Користим влоокупс и хлоокупс и пивот табеле, али не могу да схватим како да добијем датум редом по реду.

Сортирањем сам успео да добијем имена компанија да се појављују ред по ред у једној колони и закључио сам да бих могао да користим комбинацију влоокупа и хлоокупа како бих добио резултате које сам тражио, али не знам одговарајућа формула за гнежђење у потрази за етером. Такође сам тестирао неке ДСУМ функције, али ниједна не ради за мене? Дакле, молим вас да ме обавестите шта или како да решим свој проблем.

Мислим да се ово лако може постићи помоћу макронаредбе. Пробајте ово.

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

Занимљиви Чланци...