Показать сообщение отдельно
Старый 25.03.2009, 18:29   #2  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Любопытно. А приведите, пожалуйста, код метода? А то у меня "трёшка", SP4 и такого метода в классе нет.

Вообще, что-то такое попадалось, что по возможности не рекомендуется работать с числовым индексом коллекции Worksheets из-за его нестабильности. Т.е. перебирать коллекцию в цикле по целочисленному индексу можно и гарантируется обход всех листов (в негарантируемом порядке!). А вот насчет прямых обращений - лучше использовать строковый индекc, т.е. имя листа на корешке.

Цитата:
Сообщение от Zabr Посмотреть сообщение
(а при этом его номер сохраняется!)
А где это видно? В редакторе Visual Basic в дереве листов? Так там отображается значение свойства CodeName, которое рождается вместе с листом и более не меняется - ни при переименовании листа на корешке, ни при перемещении корешка среди других корешков ( его можно поменять только вручную в окне свойств листа в строке "(Name)"). Кстати, как раз индекс в коллекции - это порядковый "номер" корешка, считая слева. И в конструкцию вида Sheets(2).Delete подставляется именно он.