Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Вставка строк в лист / 10 сообщений из 10, страница 1 из 1
18.11.2008, 09:57:42
    #35659558
ВК
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка строк в лист
Товарищи, подскажите пожалуйста, такая проблема.

Нужно в лист Эксель, с уже имеющимися данными, вставить программно пустые строки, через одну, до конца файла.

т.е. есть вот это:
1234
1234
1234
1234

нужно вот так:
1234

1234

1234

1234

вручную замучаешься ибо сток очень много. С экселем не работал, неизвестен синтаксис.
...
Рейтинг: 0 / 0
18.11.2008, 12:54:32
    #35660164
A-Nik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка строк в лист
Ну, если с ВБА у тебя проблемы, то можно так:
Потребуется 2 свободных столбца. В первом из них напротив твоих данных, которые надо разделить пустыми строками, вводишь формулу:
=ЕСЛИ(СТРОКА()/2=ОТБР(СТРОКА()/2);1;"")
В столбце рядом - формулу:
=ЕСЛИ(СТРОКА()/2=ОТБР(СТРОКА()/2);"";1)
Далее, выделяешь область с единичками так, чтобы охватить их все, и нажимаешь Ctrl+G, жмёшь кнопку "Выделить...", затем ставишь галочку "Формулы" и снимаешь галочку со слова "Текст" и жмёшь ОК.
Затем щёлкаешь на одной из выделенных ячеек правой клавишей и выбираешь "Добавить ячейки...", где ставишь галочку "cтроку". Далее - ОК.
...
Рейтинг: 0 / 0
18.11.2008, 13:23:04
    #35660302
ВК
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка строк в лист
спасибо, помогает )
но неплохо бы было в ВБА в макрос это перевести

как там записать тогда do until EOF и безразмерный range? я работал с аксессом, в экселе же мне не известно
...
Рейтинг: 0 / 0
18.11.2008, 14:01:13
    #35660481
A-Nik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка строк в лист
Дай имя "ExtCol" любой ячейке промежуточного столбца. Любой ячейке в той строке, где у тебя начинаются данные, задай имя "FirstRow". Затем:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Sub test()
Dim TmpRng As Range
Set TmpRng = Cells([FirstRow].Row, [ExtCol].Column).Resize([FirstRow].End(xlDown).Row - [FirstRow].Row)
TmpRng.Resize( 1 ) = "=IF(ROW()/2=TRUNC(ROW()/2),"""",1)"
TmpRng.FillDown
Set TmpRng = TmpRng.SpecialCells(xlCellTypeFormulas, xlNumbers)
Union(TmpRng, TmpRng.Offset( 1 ,  1 )).EntireRow.Insert
End Sub
...
Рейтинг: 0 / 0
12.05.2009, 20:00:30
    #35981600
Oliushka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка строк в лист
А подскажите, как просто вставить новую строку со смещением вниз через ВБА?
...
Рейтинг: 0 / 0
13.05.2009, 11:17:39
    #35982453
Lost Jonny
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка строк в лист
Oliushka,

Код: plaintext
1.
        Rows( 1 ).Select
    Selection.Insert Shift:=xlDown
...
Рейтинг: 0 / 0
14.05.2009, 11:55:51
    #35985130
Oliushka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка строк в лист
Lost Jonny,

У меня список. Нахожусь на какой-нибудь строке, нужно добавить новую строку между этой и следующей, т.е. строку ниже.
Написала вот так
Cells(a + 1, 2).EntireRow.Insert
работает.
У вас сложнее код. В чем разница?
...
Рейтинг: 0 / 0
14.05.2009, 13:09:11
    #35985334
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка строк в лист
Oliushka,
этот код записан макрорекордером, чего и вам желаю
...
Рейтинг: 0 / 0
14.05.2009, 14:38:27
    #35985623
Lost Jonny
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка строк в лист
PlanB,

Ну, задачку-то решил на вопрос :)
...
Рейтинг: 0 / 0
14.05.2009, 20:25:30
    #35986746
PlanB
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вставка строк в лист
Lost Jonny,а кто спорит?
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Вставка строк в лист / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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