Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excell, Макрос на добавление пустых строк / 14 сообщений из 14, страница 1 из 1
22.06.2010, 06:30
    #36699578
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excell, Макрос на добавление пустых строк
Есть документ в котором заполнено 500 строк, нужно каждую строку размножить на три, подскажите пожалуйста как это сделать.
...
Рейтинг: 0 / 0
22.06.2010, 09:12
    #36699645
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excell, Макрос на добавление пустых строк
Блок А.Н.,
1. построчный обход диапазона.
2. копирование строки
3. выделение диапазона из трех строк в получателе
4. вставка
...
Рейтинг: 0 / 0
22.06.2010, 09:42
    #36699700
Блок А.Н.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excell, Макрос на добавление пустых строк
Спасибо, но проблема в реализации :)
...
Рейтинг: 0 / 0
22.06.2010, 11:25
    #36699974
Shamanus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excell, Макрос на добавление пустых строк
Блок А.Н.,

Так Вы же молчите, в чем именно проблема в реализации. Правильно поставленный вопрос 90% успеха. Поэтому big-duke на 100% верно ответил на Ваш вопрос.

Максимум чем можно дополнить.
При помощи VBA:
...
Рейтинг: 0 / 0
22.06.2010, 11:34
    #36700012
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excell, Макрос на добавление пустых строк
Немного изменив запись макроса на эту операцию, получаем:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Sub Macro1()
i =  3 
    Rows(i).Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Sheet2").Select
    Rows(i *  3  -  2  & ":" & i *  3 ).Select
    ActiveSheet.Paste
End Sub

Осталось добавить
1. построчный обход диапазона.
...
Рейтинг: 0 / 0
22.06.2010, 11:37
    #36700022
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excell, Макрос на добавление пустых строк
Подсократил:
Код: plaintext
1.
2.
3.
4.
Sub Macro2()
i =  5 
    Rows(i).Copy Sheets("Sheet2").Rows(i *  3  -  2  & ":" & i *  3 )
End Sub
...
Рейтинг: 0 / 0
22.06.2010, 11:42
    #36700040
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excell, Макрос на добавление пустых строк
Хотя исходя из заглавия, мне показалось, что надо просто под каждую строку вставить две пустых...
...
Рейтинг: 0 / 0
22.06.2010, 11:53
    #36700080
Hugo121
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excell, Макрос на добавление пустых строк
Примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
Sub insert()
For i = Cells(Rows.Count,  1 ).End(xlUp).Row To  2  Step - 1 
Rows(i).insert Shift:=xlDown
Rows(i).insert Shift:=xlDown
Next
End Sub
...
Рейтинг: 0 / 0
27.12.2010, 19:49
    #37037763
MATb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excell, Макрос на добавление пустых строк
Hugo121,

Не могли бы вы помочь мне?
Только начал знакомиться с VB. Поэтому задаю наверное простой вопрос, но самому не получается справиться.

Пример...

1
1
1
8
8
8
8
2
9
4
Как сделать, чтобы строки вставлялись лишь там, где меняется содержимое ячейки в столбце 1 (т.е. перед восьмёркой, двойкой и т.д.)?
Задаю простое условие:
If Cells(i, 2).Value <> Cells(i - 1, 2).Value Then Rows(i).Select
Selection.Insert Shift:=xlDown
Next i
Естественно, не получаю желаемого результата, т.к. после добавления первой строки, ячейка с данными сравнивается с пустой и добавление строк идёт подряд. Может можно как-нибудь отметить переходные строки и применить вставку строк(и) ко всем сразу?
Спасибо за помощь.
...
Рейтинг: 0 / 0
27.12.2010, 20:36
    #37037820
vikttur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excell, Макрос на добавление пустых строк
Пока нет спецов, посмотрите формульный вариант. Чем богаты :)
...
Рейтинг: 0 / 0
27.12.2010, 21:53
    #37037932
Excell, Макрос на добавление пустых строк
MATb,
Код: plaintext
1.
2.
3.
4.
5.
6.
' данные во втором столбце, в строках с 1-й по 10-ю
For i =  10  To  2  Step - 1 
If Cells(i,  2 ).Value <> Cells(i -  1 ,  2 ).Value Then
    Rows(i).Select
    Selection.Insert Shift:=xlDown
End If
Next i
...
Рейтинг: 0 / 0
27.12.2010, 22:34
    #37037985
zchvv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excell, Макрос на добавление пустых строк
МАТЬ, посмотри
...
Рейтинг: 0 / 0
28.12.2010, 10:48
    #37038467
MATb
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excell, Макрос на добавление пустых строк
vikttur, пробуй камнем, zchvv, спасибо вам =) сейчас буду все варианты пробовать.
Про обратный степ думал, но не знал есть ли такая реализация в VB.
ЗЫ: вопрос не по теме =) Сейчас читаю "Программирование Excel с использованием VBA. С.Роман". Что можете посоветовать для новичка?
СПАСИБО!!!
...
Рейтинг: 0 / 0
28.12.2010, 11:54
    #37038650
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excell, Макрос на добавление пустых строк
MATbСейчас читаю "Программирование Excel с использованием VBA. С.Роман". Что можете посоветовать для новичка?
СПАСИБО!!!этот форум + планетаexcel? где есть тупо много разжеваных примеров + необходимо понимание, что 99,9% задач можно решить без помощи макросов - стандартными функциями excel
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excell, Макрос на добавление пустых строк / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]