![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 02.03.2017
Сообщений: 8
|
![]()
Добрый день!
Форумчане помогите довести до ума. Есть файл, в нем много листов, и есть один итоговый куда тянется информация со всех этих листов. Я понял как сделать команду для каждого листа, но листов очень много и писать для каждого - нереально, как можно сделать цикл в данной ситуации? Прошу помощи..... Пример документа на форум залить не получается, вот ссылка https://drive.google.com/open?id=0B-...WRha1JzMnFiV0U Sub filter() e1 = sheets("1").Cells(sheets("1").Rows. Count, 3).End(xlUp).Row If sheets("1").Cells(2, 3) <> "" Then sheets("1").Activate sheets("1").Range("A2:S2" & e1).Select Selection.Copy sheets("Svod").Activate Application.Goto (ActiveWorkbook.sheets("Svod").Rang e("A7")) ActiveSheet.Paste Destination:=Worksheets("Svod").Ran ge("A7") sheets("1").Activate End If e1 = sheets("2").Cells(sheets("2").Rows. Count, 3).End(xlUp).Row e2 = sheets("Svod").Cells(sheets("Svod") .Rows.Count, 1).End(xlUp).Row If sheets("2").Cells(2, 3) <> "" Then sheets("2").Activate sheets("2").Range("A2:S2" & e1).Select Selection.Copy sheets("Svod").Activate Application.Goto (ActiveWorkbook.sheets("Svod").Rang e("A" & e2 + 1)) ActiveSheet.Paste Destination:=Worksheets("Svod").Ran ge("A" & e2 + 1) End If e1 = sheets("3").Cells(sheets("3").Rows. Count, 3).End(xlUp).Row e2 = sheets("Svod").Cells(sheets("Svod") .Rows.Count, 1).End(xlUp).Row If sheets("3").Cells(2, 3) <> "" Then sheets("3").Activate sheets("3").Range("A2:S2" & e1).Select Selection.Copy sheets("Svod").Activate Application.Goto (ActiveWorkbook.sheets("Svod").Rang e("A" & e2 + 1)) ActiveSheet.Paste Destination:=Worksheets("Svod").Ran ge("A" & e2 + 1) End If End Sub |
![]() |
![]() |
![]() |
#2 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
![]()
Поиск не помог?
http://www.programmersforum.ru/showthread.php?t=130733
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
![]() |
![]() |
![]() |
#3 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
это покатит для всех листов
Код:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
Последний раз редактировалось IgorGO; 03.03.2017 в 01:04. |
![]() |
![]() |
![]() |
#4 |
Регистрация: 02.03.2017
Сообщений: 8
|
![]()
Спасибо!
|
![]() |
![]() |
![]() |
#5 | |
Регистрация: 02.03.2017
Сообщений: 8
|
![]() Цитата:
Пример: If ws.Name <> "Svod" Then If ws.Name <> "Лист1" Then If ws.Name <> "Лист2" Then Или можно приминить данный макрос на все листы книги расположенные до листа "SVOD"? Спасибо за помощь |
|
![]() |
![]() |
![]() |
#6 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
![]() Код:
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
![]() |
![]() |
![]() |
#7 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]() Код:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#8 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
![]()
Игорь, а как распределяется .Index по листах? Не может Лист1.index>Svod.index?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
![]() |
![]() |
![]() |
#9 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
индексы листов соотв. их позиции в списке ярлыков листов
самый левый ярлык имеет индекс 1, самый правый - имеет индекс равный worksheets.count (Саша, и все это элементарно проверяется эмпирическим путем)))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#10 |
Регистрация: 02.03.2017
Сообщений: 8
|
![]()
IgorGO, спасибо огромное, все работает. Только заметил одну особенность,или может это баг, если первая ячейка с которой эксель начинает копирование пустая ( например у нас заполнена вся 2ая строка, но первая ячейка пустая) - то почему то тянется ячейка сверху нее.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Макрос для всех листов | albih | Microsoft Office Excel | 3 | 12.04.2012 14:16 |
Макрос для всех листов | as-is | Microsoft Office Excel | 8 | 10.02.2011 21:15 |
При пересчете значений в ячейке, форма VBA не дает выполнить код. | segail | Microsoft Office Excel | 11 | 29.06.2010 23:09 |
Макрос для всех листов в книге | Rok | Microsoft Office Excel | 5 | 26.04.2010 08:55 |