Преобразование текста в столбцы с помощью VBA - Советы по Excel

Содержание

Спрашивает Трэвис:

Я пытаюсь отформатировать текст в отдельные столбцы. Текст находится в одной колонке следующим образом:

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

Когда я отформатировал тест для повышения качества, я сделал этот столбец, как показано выше. Я хотел бы знать формулу, с помощью которой я могу отображать данные в одной строке, а не в нескольких строках для компании, в результате которой должна получиться формула, если я предоставлю мне следующее в одной строке, но в разных столбцах:

Все в одном ряду

А B C
Название компании 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

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