Страницы: 1
RSS
Как правильнее перебирать страницы: In Worksheets или In Sheets ?
 
Что-то я не могу понять, как когда правильнее перебирать страницы:  
For Each iSht In Worksheets    
или    
For Each iSht In Sheets  
И вообще какая разница у этих объектов?  
Worksheets Property  
For an Application object, returns a Sheets collection that represents all the worksheets in the active workbook.    
For a Workbook object, returns a Sheets collection that represents all the worksheets in the specified workbook.
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
лист диаграммы - не worksheet..  улавливаете?
Живи и дай жить..
 
Алексей, в sheets будут и листы диаграмм, а это нам не нужно...
 
в коллекцию Sheets входят все листы - в т.ч. листы диаграмм и окна диалога MS Excel 5.0  
кстати, листы макросов MS Excel 4.0 - не входят.  
 
в коллекцию Worksheets - только рабочие листы.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Листы макросов ещё остались :-) , диалоги...
 
:) Логично расположились - по Len(txt)
 
Спасибо.  
Понял.  
Значит, если работать только с обычными рабочими листами, то лучше использовать Worksheets чтобы чего-нибудь лишнего не подцепить :)  
А проблем у меня раньше не возникало, очевидно, потому, что я только такие листы и использую, а когда приходится делать диаграммы, то вывожу их на рабочие листы.  
Но на всякий случай лучше не лениться и везде писАть Worksheets
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
{quote}{login=Alex_ST}{date=03.06.2011 01:59}{thema=}{post}Значит, если работать только с обычными рабочими листами, то лучше использовать Worksheets чтобы чего-нибудь лишнего не подцепить {/post}{/quote}  
Наоборот - Sheets - цеплять ведь нечего :-) Хотя, хуже не будет.
 
У меня разок было - юзер вдруг диаграмму заимел, хотя ранее ничего не предвещало...  
Тогда и понял :)
 
{quote}{login=Юрий М}{date=03.06.2011 02:01}{thema=Re: }{post}{quote}{login=Alex_ST}{date=03.06.2011 01:59}{thema=}{post}Значит, если работать только с обычными рабочими листами, то лучше использовать Worksheets чтобы чего-нибудь лишнего не подцепить {/post}{/quote}  
Наоборот - Sheets - цеплять ведь нечего :-) Хотя, хуже не будет.{/post}{/quote}  
 
Упс!  
Не понял... Вроде только что разобрались, что в Sheets кроме нормальных рабочих листов входит ещё куча всякого мусора, а поэтому "безопаснее" (чтобы не подцепить чего-нибудь:) лучше использовать Worksheets ???
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
Алекс, вот это: "если работать только с обычными рабочими листами"...  
Предполагается, что ДРУГИХ нет. Значит можно просто Sheets. Конечно, если есть опасения, что затесался лист, например, с диаграммой... Но, ведь, когда мы пишем макрос к конкретной книге, мы же видим, что там есть.
 
Вас понял... :)  
Вся проблема в том, что когда пишешь макрос, действительно, видишь структуру книги.  
Но в тот момент она (структура) обычно сильно упрощена (чтобы, например, влезла в 100 кбайт :).  
А потом по мере юзания книга обрастает всякими причиндалами. И каками - непредсказуемо.  
Так что лучше уж перебдеть чем недобдеть
С уважением, Алексей (ИМХО: Excel-2003 - THE BEST!!!)
 
For Each iSheets In ActiveWorkbook.Sheets
 
{quote}{login=Николай}{date=03.06.2011 04:53}{thema=}{post}For Each iSheets In ActiveWorkbook.Sheets{/post}{/quote} - и как сказано выше -    
И каками - непредсказуемо :)  
И вот появляется такакя кака в виде листа диаграммы, и Ваш код затыкается, ибо нет вдруг на iSheets cells...
Страницы: 1
Читают тему
Наверх