Excel - Макрос для форматирования отчета
вопрос
Надеюсь, я смогу сказать то, что ищу, так, чтобы это имело смысл для всех. У меня есть отчет о клиентах, который я запускаю, и он плохо экспортируется.
Это выглядит так:
Адрес Пригород Штат Почтовый индекс Инструкции по доставке Номер телефона Номер факса Адрес электронной почты
Вся приведенная выше информация находится в столбце A, и я хотел бы создать макрос, содержащий информацию в столбце AF, чтобы у каждого заголовка был новый столбец.
Я могу записать очень простые макросы, поэтому мне, вероятно, понадобится кто-то, кто напишет один для меня, чтобы я мог просто скопировать и вставить * извините *.
Надеюсь, это действительно просто для кого-то, и они готовы мне помочь. Любые предложения / советы с благодарностью!
Решение
Задача:
Чтобы разбить строки это ячейка и переместить каждую строку в новую ячейку в той же строке.
Предположения:
1. Данные начинаются со строки 2
2. Данные в столбце А
3. В столбце рядом с буквой A должны быть указаны данные
4. Каждая строка в ячейках данных должна быть перемещена в новую ячейку в той же строке
шаги:
1. Прочитайте предположения
2. Сделайте резервную копию файла
3. Нажмите ALT + F11 и вставьте новый модуль
4. Вставьте код (после шагов)
5. Выполните код
Код:
Sub SpiltData () Dim lMaxRows в виде Long Dim lRowBeanCounter в виде Long Dim vPos в качестве варианта Dim sHold в виде строки Dim sTemp в виде строки Dim iCellCounter в виде целого числа DIM lStartAtRow в виде длинного lStartAtRow = 1 lMaxRows. xlUp) .Row для lRowBeanCounter = lStartAtRow To lMaxRows sTemp = Cells (lRowBeanCounter, "A") iCellCounter = 2 делать пока sTemp "" vPos = 0 vPos = InStr (1, sTemp, Chr (10)) если = Слева (sTemp, vPos - 1) sTemp = Trim (Mid (sTemp, vPos + 1)) Остальное sHold = sTemp sTemp = "" End If iCellCounter = iCellCounter + 1 Ячейки (lRowBeanCounter, iCellCounter) = sHold EndCan Next NextRoop
Заметка
Спасибо rizvisa1 за этот совет на форуме.