Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > Visual Basic
Перезагрузить страницу удаление листов не удовлетворяющих условию
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
diment diment вне форума
Member
 
Сообщений: 227
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 12.07.2006
По умолчанию 13.07.2006, 14:57

друзья, у меня 1 задача и 3 вопроса связанных с ней.
имеется книга с большим количеством листов внутри.
При запуске макроса удаляюся все листы или листы в заданном числовом диапазоне не помеченные например желтым цветом.
Вопрос 1: можно ли запустив цикл "шерстить" по листам не операя на их имена, т.к. цикл работает только если имена листов имею числовые значения: 2,3,4,5,6,7,.....

Вопрос 2
: прогоняя цикл по листам, при удалении каждого из них, выскакиевает сообщение с вопросом "Вы действительно хотите удалить лист?". Как избавиться от этих сообщений?

Вопрос 3:[u] если все таки имена листов имеют числовые значения и нужно удалить листы в заданном диапазоне, как избавиться от ошибки когда листа (ов) с именем следующего шага цикла в книге нет, например: 2,3,4,5,9,10,11,12,13....
Ответить с цитированием
  (#2 (permalink)) Старый
Serg_14 Serg_14 вне форума
Member
 
Сообщений: 37
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 09.05.2006
По умолчанию 13.07.2006, 15:59

1,3:
Код:
For Each Sh In Worksheets
    '...
Next Sh
2:
Код:
Application.DisplayAlerts = False
Ответить с цитированием
  (#3 (permalink)) Старый
pashulka pashulka вне форума
Member
 
Сообщений: 1,872
Сказал(а) спасибо: 2
Поблагодарили 57 раз(а) в 53 сообщениях
Регистрация: 11.03.2005
По умолчанию 13.07.2006, 17:57

Или так :

Код:
For iCount% = Sheets.Count To 1 Step -1
'Sheets - Если речь идёт действительно о листах
    MsgBox Sheets(iCount%).Name, , ""
Next
А возвращать всё на круги своя иногда имеет смысл мне вот вспоминается, что в ранних версиях подобная забывчивость приводила к проблемам.

Код:
Application.DisplayAlerts = False
'Удаление листов
Application.DisplayAlerts = True
Ответить с цитированием
  (#4 (permalink)) Старый
diment diment вне форума
Member
 
Сообщений: 227
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 12.07.2006
По умолчанию 13.07.2006, 18:30

спасибо Вам обоим, сегодня попробую
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование листов книги masix Visual Basic 10 02.05.2011 16:46
Поиск по условию из списка Knopa85 Prolog 4 07.05.2010 17:11
счетчик распечатанных листов на принтере hcd Техническая поддержка 1 19.02.2009 20:09
как найти по условию нужную строку D_e_n_n Visual Basic 2 24.01.2008 16:03
Округление числа по условию madmike Visual Basic 8 17.12.2007 13:34
выделение нескольких листов diment Visual Basic 6 31.10.2006 13:03
Excel 1.Кол-во строк. 2.Ярлыки листов dorogo Visual Basic 8 26.05.2006 18:30
Excel. Нумирация листов dorogo Visual Basic 4 31.03.2006 19:21
VBA Excel. Создание новых листов billyS Visual Basic 5 12.12.2005 19:13
Освобождение события по условию KachoK Delphi 5 22.09.2005 10:25
Как узнать имена листов в Excel через ODBC wolverine Visual C++ 1 20.07.2005 07:32
Поиск по условию в Excel Сергей2005 Visual Basic 1 12.03.2005 02:48



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов