![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 24.08.2011
Сообщений: 193
|
![]()
Всем здравствуйте!
![]() Мне очень помог бы в работе макрос благодаря которому можно было бы удалить листы из книги, в названиях которых содержится определенный текст. Либо удалить все листы, кроме тех которые нужно оставить (так как их меньше). Сама я пользуюсь макросом по сортировки листов в книги, после чего удалять гораздо быстрее, но все же самой вручную. Если не совсем все понятно написала, спрашивайте. Файл для примера содержит 16 листов т.е. выгружен из 2-х документов. Листы, которые нужно удалить, выделены желтым цветом. Сам текст документов на листах я удалила, чтоб файл весил мало. |
![]() |
![]() |
![]() |
#2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
А как определить, какие листы нужно оставить?
Оставляем те, в названиях которых есть числа 6907 и 630 (в скобках)? |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
![]() Код:
Анализ,обработка данных Недорого
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 07.03.2010
Сообщений: 796
|
![]()
sub ggg()
Application.displayalerts = False for i =1 to worksheets.count if sheets(i).name like "*hhhhh" then sheets(i).delete next Application.displayalerts = true end sub
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 09.06.2011
Сообщений: 515
|
![]()
В вложении, просто в цикл (if ....... & end if)так же допишите только те листы которые не нужно удалять.
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 24.08.2011
Сообщений: 193
|
![]()
Нужно оставить листы в названиях которых содержится текст:
бух.уч.(лимиты)-МДОУ СВОД_Изменения лимитов Либо удалить листы в названиях которых содержится текст: бух.уч.(лимиты) ( Изменения ассигнований Изменения лимитов Изменения общий СВОД_Изменения ассигнова СВОД_Изменения общий |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 24.08.2011
Сообщений: 193
|
![]()
R Dmitry Воспользовалась Вашим макросом - примером. Вот что у меня получилось:
Sub ggg() Application.DisplayAlerts = False For i = 1 To Worksheets.Count If Sheets(i).Name Like "*Изменения ассигнов*" Then Sheets(i).Delete If Sheets(i).Name Like "Изменения лимитов*" Then Sheets(i).Delete If Sheets(i).Name Like "*Изменения общий*" Then Sheets(i).Delete If Sheets(i).Name Like "*СВОД_Изменения ассигнов*" Then Sheets(i).Delete If Sheets(i).Name Like "*СВОД_Изменения общий*" Then Sheets(i).Delete Next Application.DisplayAlerts = True End Sub Это почти работает. Спасибо. |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
If Sheets(i).Name Like "*СВОД_Изменения ассигнов*" Then Sheets(i).Delete
уже лишнее... ![]() Хотя по коду есть подозрение, что неправильно - после удаления листа например 3 по первому совпадению - какой лист будет проверяться на "*Изменения общий*" ? Если делать тупо так - то вводите переменную-флаг as boolean, которую взводите проверками, потом после всех проверок проверяете статус, по результату этой проверки удаляете, переменную сбрасываете. И листы удалять нужно с конца For i = Worksheets.Count To 1 step-1
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 01.09.2011 в 17:07. |
![]() |
![]() |
![]() |
#9 | |
Форумчанин
Регистрация: 07.03.2010
Сообщений: 796
|
![]() Цитата:
написал не проверив ![]() Спасибо Игорь.
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
|
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 24.08.2011
Сообщений: 193
|
![]()
Hugo121 , R Dmitry простите, что встреваю в ваш разговор
![]() ![]() |
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Макрос удаления пустых ячеек и листов книги | sna1 | Microsoft Office Excel | 2 | 04.05.2011 20:49 |
Размер шрифта в названиях листов | szs | Microsoft Office Excel | 0 | 24.08.2010 11:53 |
Выборка записей в поле которых содержится значение nuul | Lokos | БД в Delphi | 1 | 05.08.2010 08:23 |
поиск в названиях листов с любой ячейки | Окоча Юра | Microsoft Office Excel | 7 | 21.01.2010 00:34 |
DOS команда для удаления всех файлов, имена которых содержат цифры | Samopal | Операционные системы общие вопросы | 1 | 23.12.2008 21:12 |