Сообщения без ответов | Активные темы Текущее время: 21.10.18, 20:52



Ответить на тему  [ Сообщений: 4 ] 
 Макрос Excel / Visual Basic, кто подскажет? 
Автор Сообщение
moderator
moderator
Аватара пользователя

Зарегистрирован: 26.01.07, 11:32
Сообщения: 772
Откуда: Komsomolsk
Добрый! Необходим пример макроса Excel, который выделяет и копирует на отдельный лист каждую N строку. Т.е. каждая например 15 строка с общего списка выделяется и копируется на другой. Начинать тоже надо не всегда с 1 строки, но это уже не принципиально. Что-то в голове крутится, надо цикл писать с шагом, но на практике ничего не помню.
Кто работает с VB? Думаю, для знающих это плёвое дело, а лопатить кучу книг нет резона :)

_________________
НИКТО, созидающий НЕЧТО, лучше, чем НЕКТО, творящий НИЧТО!
Изображение


10.03.10, 19:02
Профиль
Великий гуру
Великий гуру
Аватара пользователя

Зарегистрирован: 05.03.07, 18:33
Сообщения: 2229
а может стоит полапатить? :wink: но не кучу а базовое, заодно вникнешь) Сам не скажу, так как с VB for aplication дела не имею, но уверен что это мелочи жизни, поняв как копируется одна остальные погнать по циклу это математика из пятого класса.

_________________
Таковы мои принципы. Если они вас не устраивают - у меня есть другие.


10.03.10, 19:07
Профиль
moderator
moderator
Аватара пользователя

Зарегистрирован: 26.01.07, 11:32
Сообщения: 772
Откуда: Komsomolsk
D$O писал(а):
а может стоит полапатить? :wink: но не кучу а базовое, заодно вникнешь) Сам не скажу, так как с VB for aplication дела не имею, но уверен что это мелочи жизни, поняв как копируется одна остальные погнать по циклу это математика из пятого класса.


Та в том и прикол, я не работаю в VBA, а тут такая задача.. И работать я с ним не буду, зачем мне код учить?
Знаю, что для тех, кто сталкивается с ним постоянно эта задача - плевое дело. Вот и спросил.

_________________
НИКТО, созидающий НЕЧТО, лучше, чем НЕКТО, творящий НИЧТО!
Изображение


10.03.10, 19:12
Профиль
Читатель
Читатель
Аватара пользователя

Зарегистрирован: 22.08.10, 01:58
Сообщения: 4
Откуда: 200-й километр
Например так:
Цитата:
Sub copy()
n = 256 'длина цикла
x = 2 'шаг цикла
a = 1
For i = 1 To n Step x
Sheets("Лист1").Rows(i).copy 'копирование
ActiveSheet.Rows(a).PasteSpecial ' вставка
a = a + 1 'счетчик строк для вставки
Next i
End Sub

в данном случае цикл осуществляет копирование строк с Листа 1 на активный в данный момент лист.
это на вскидку..

Добавлено спустя 32 минуты 14 секунд:
Либо если таблица непрерывная,т.е. данные идут подряд без пропусков строк в середине таблицы, то вот так:
Цитата:
Sub copy()
x = 1
a = 1
y = 0
Do While Sheets("Лист1").Cells(x + y, 1) <> ""
Sheets("Лист1").Rows(x + y).copy
ActiveSheet.Rows(a).PasteSpecial
x = x + 1
a = a + 1
y = y + 1' шаг копирования-вставки(в данном примере шаг 2(копируются строки 1,3,5,7 и т.д))
Loop
End Sub

цикл выполняется да первого пустого значения в 1-м столбце

_________________
"Он был твердо убежден: хоть одна из Дверей да должна открываться в Лето


31.08.10, 14:18
Профиль
Показать сообщения за:  Поле сортировки  
Ответить на тему   [ Сообщений: 4 ] 

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron




Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software for PTF.
Русская поддержка phpBB