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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2009, 21:03   #1
glazomer
 
Регистрация: 11.03.2009
Сообщений: 3
По умолчанию Вставка строки через n-е количество строк

Возник такой вопрос. У меня есть таблица, сосотоящая из 2000 строк. Мне нужно, чтобы через каждые 37 строк вставлялась 1-я строка таблицы, но при этом существующие строки сдвигались вниз, а не заменялись вставленной!!! Наверное нужно писать какой-то макрос для этого? Или есть какие другие варианты! Если макрос, то объясните по-подробнее, я в этом ужасный делетант. Заранее спасибо...
glazomer вне форума Ответить с цитированием
Старый 12.03.2009, 04:47   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

В цикле, с указанным шагом, добавляем строку и копируем в нее первую строку. Цикл выполняем до тех пор, пока строка для вставки не пуста.
Код:
Sub InsRow()

    Dim i As Long
    Const Shag = 37
    Application.ScreenUpdating = False: i = Shag
    Do
        Rows(i).Insert: Rows(1).Copy Rows(i): i = i + Shag
    Loop While Rows(i).Text <> ""

End Sub
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 12.03.2009, 05:34   #3
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Мне нужно, чтобы через каждые 37 строк вставлялась 1-я строка таблицы, но при этом существующие строки сдвигались вниз
Это зачем??????? Уж не для печати ли?

Если для печати (чтобы на каждом листе была строка заголовка), то всё делается намного проще:
Меню Файл - Параметры страницы - вкладка Лист - в подразделе Печатать на каждой странице выбираем для параметра Сквозные строки первую строку (или вводим в это поле значение $1:$1)
EducatedFool вне форума Ответить с цитированием
Старый 12.03.2009, 12:45   #4
glazomer
 
Регистрация: 11.03.2009
Сообщений: 3
По умолчанию

EducatedFool, спасибо большое-мне как раз для печати и нужно было! А проэтот способ от тебя узнал! На будущее пригодится очень!
glazomer вне форума Ответить с цитированием
Старый 12.03.2009, 13:10   #5
glazomer
 
Регистрация: 11.03.2009
Сообщений: 3
По умолчанию

И еще такой вопрос, если вас не затруднит: как сделать так, чтобы через каждые 10 строк вставлялась пустая строка??? Помогите, оч надо!
glazomer вне форума Ответить с цитированием
Старый 12.03.2009, 13:20   #6
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

В код из поста №2 вставить Const Shag = 10, а в цикле оставить только Rows(i).Insert
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Количество строк DBGrid AndreyF Общие вопросы Delphi 4 02.12.2008 21:32
Вставка пустых строк в FastReport'е Boatswain БД в Delphi 1 13.11.2008 14:41
ListBox (количество строк) Vali_T Помощь студентам 6 06.10.2008 15:30
Определение количество символов в строке, и самих строк. Патрон Общие вопросы Delphi 10 01.04.2008 12:43
количество строк в memo Albenous Компоненты Delphi 4 15.01.2007 19:00