Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.08.2013, 11:13   #1
GuitaristNSK
Новичок
Джуниор
 
Регистрация: 30.08.2013
Сообщений: 2
По умолчанию Макрос для разбиения 1 столбца в несколько

Доброго времени суток! Мне необходимо написать макрос, при выполнении которого добавлялось необходимое количество пустых столбцов. Затем другой столбец разбивался в созданные столбцы. В общем, принцип тот же, что и функция "Текст по столбцам". Только нужен именно макрос, т.к. количество столбцов может быть большим и вставлять целую кучу столбцов - не самый удобный вариант...очень надеюсь на чью-нибудь помощь. Заранее спасибо! В примере на Листе3 результат работы макроса.
Вложения
Тип файла: zip Пример.zip (7.0 Кб, 26 просмотров)

Последний раз редактировалось GuitaristNSK; 30.08.2013 в 11:17.
GuitaristNSK вне форума Ответить с цитированием
Старый 30.08.2013, 11:17   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Ну так включите макрорекордер и проделайте все необходимые действия.
Получите практически готовый макрос.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 30.08.2013, 11:49   #3
GuitaristNSK
Новичок
Джуниор
 
Регистрация: 30.08.2013
Сообщений: 2
По умолчанию

Спасибо за совет. Но все же он мне не помог окончательно решить проблему.
Получил я такой код:
Sub Макрос1()
'
' Макрос1 Макрос
'

'
Columns("B:B").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A2:A5").Select
Selection.TextToColumns Destination:=Range("A2"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:="/", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), _
TrailingMinusNumbers:=True
End Sub
Мне не хватает автоматического поиска конца записей в книге. Т.е. если у меня в книге 5000 строк, то мне надо чтобы макрос сам определил номер последней строки . Начальная позиция всегда будет одна и та же.
В общем, в вот этом моменте
Range("A2:A5").Select
должно сохраниться А2:А(номер последней строки)
GuitaristNSK вне форума Ответить с цитированием
Старый 30.08.2013, 13:38   #4
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Получите практически готовый макрос.
Макросы обычно нужно немного подредактировать, там много лишнего бывает и т.д.
Ваш макрос может выглядеть примерно так:
Код:
Sub Макрос1()

    lRow = Cells(Rows.Count, 1).End(xlUp).Row
    Columns("B:B").EntireColumn.Insert
    Columns("B:B").EntireColumn.Insert
    Range("A2:A" & lRow).TextToColumns Destination:=Range("A2"), DataType:=xlDelimited, _
                                                 TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
                                                 Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
                                                                                                          :="/", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), _
                                                 TrailingMinusNumbers:=True
End Sub
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
макрос жеребьёвки, разбиения на пары 1945zxc Microsoft Office Excel 21 03.11.2018 21:32
Объединить несколько сгруппированных строк столбца отчета в одну ячейку чувачек Microsoft Office Access 4 19.07.2013 12:23
макрос суммирования данных столбца RECit Microsoft Office Excel 3 11.10.2010 15:14
Макрос на смещение столбца Solteks Microsoft Office Excel 11 06.10.2010 19:11
Как сделать "Несколько значений для столбца подстановок" lamerk Microsoft Office Access 2 30.11.2009 20:41