For i = 1 To Workbooks.Count
MsgBox Workbooks(i).Name + " индекс:" + CStr(i)
Next i
Действительно, Sonata, оказывается вы в своем вопросе дали ответ
Пардон, для нумеров листов нужно организовать второй цикл
For i = 1 To Workbooks.Count
K=3
cells(i,1).value=Workbooks(i).Name
cells(i,2).value= i
For j = 1 To Workbooks(i).worksheets.count
cells(i,k).value= Workbooks(i).worksheets(j).index
k=k+1
next j
Next i
Можно и одним циклом, но тогда выдадутся идексы листов только активной книги:
k = 1
For i = 1 To Sheets.Count
Cells(1, k).Value = Sheets(i).Index
k = k + 1
Next i
Не понимаю....
Мне кажется, что я вполне понятно все объяснила, чего мне нужно...
То, что в моей программе -i - это обычный счетчик, а не индекс листа ...
Например У меня есть лист с названием "ВСЕ" у него счетчик -3(по счету 3-й от начала книги), а индекс -15...., так вот, в моей програме выдается 3-ка, а мне нужно, чтобы выдавалось 15....
Порядковый номер листа это и есть Index!
Sheets -работает с листами только активной книги. В любой книге первый лист имеет Index =1, второй Index =2 и т.д. !!!!!
Но тогда как понять следующую ситуацию:
1. Есть лист с именем "ВСЕ"
2. По вышеуказ. программе его index=3(и он 3-й по счету)
Но, когда я делаю Лист15.Activate, то активизируется именно он, и в коде VBA стоит число 15 в скобках .... Как это понять????
Или я совсем уже заучилась?
А, когда пишу
Sheets(3).Select
то выбирается совершенно другой лист, который по счету 8, и индекс у него 8. Но, мне кажется, что сдесь не всегда возможны совпадения...,
ведь листы иногда удаляются, добавляются новые....
Но, когда я делаю Лист15.Activate, то активизируется именно он, и в коде VBA стоит число 15 в скобках .... Как это понять????
Или я совсем уже заучилась?
Лист15 это не Лист с индексом 15, а лист с именем Лист15, т.к. Лист15 мог пользователь перетащить на другую позицию , или удалить листы перед Лист15. По умолчанию Excel называет Лист1 первый порядковый лист в книги, но символ 1 в имени листа, это не его индекс!
У меня нет слов. Остались только буквы и впервые за последний год я плачу как ребенок !!! Может, ты все таки не дашь мне погибнуть в расцвете сил и почитаешь хелпник?
Это просто имя листа и все. Значит, в том цикле выводи проперть .Name и получишь имена листов.
RayShade - я надеюсь что вы поняли, что я отвечал на вопрос Sonata.
Именно я и объяснял что такое имя, и что такое индекс, что это разные свойства одного объекта никак не связанные друг-с-другом.