|
Список листов в excel |
☑ |
0
Asmody
08.03.12
✎
11:40
|
миста-лучше-гугла, ответь, как получить список названий листов в книге excel на отдельном листе или в другой книге? есть способ без vba?
поясняю, есть книга с >50 листами. Надо сделать кое-какой анализ по ним, но для начала хотя бы список получить
|
|
1
ДенисЧ
08.03.12
✎
11:50
|
ексель = СоздатьОбъект("Excel.Application");
книга = ексель.Workbooks.Open(ИмяФайла);
Для сч = 1 по книга.Sheets.Count Цикл
страница = книга.Sheets(сч);
имя = страница.Name;
Сообщить("" + );
кОНЕЦцИКЛА;
Не стыдно?
|
|
2
Tatitutu
08.03.12
✎
11:51
|
(1) Сообщить("" + );
а Сообщить(сч+" " + имя);
|
|
3
Asmody
08.03.12
✎
12:04
|
(1) я где-то написал, что мне на 1С надо? мне как-нибудь так: скопировать-вставть
|
|
4
Rie
08.03.12
✎
12:06
|
(3) ADO - не предлагать?
|
|
5
Rie
08.03.12
✎
12:08
|
|
|
6
Tatitutu
08.03.12
✎
12:10
|
(0) Правой кнопкой по ярлычку листа - Переместить - Скопировать
получить полный список всех листов - Анализируй :-)
|
|
7
Asmody
08.03.12
✎
12:20
|
может я плохо объяснил? мне надо в одном листе получить список всех остальных листов.
|
|
8
КМ155
08.03.12
✎
12:31
|
(7) без VBA сделать это сложно,
на VBA проще всего ADOX
|
|
9
Tatitutu
08.03.12
✎
12:31
|
Alt+F11
В открывшемся окне редактора создай новый пустой модуль (меню Insert - Module) и скопируй туда текст этого макроса:
Sub СписокЛистов()
Dim sheet As Worksheet
Dim cell As Range
With ActiveWorkbook
For Each sheet In ActiveWorkbook.Worksheets
Set cell = Worksheets(1).Cells(sheet.Index, 1)
.Worksheets(1).Hyperlinks.Add anchor:=cell, Address:="", SubAddress:="'" & sheet.Name & "'" & "!A1"
cell.Formula = sheet.Name
Next
End With
End Sub
Закрой редактор и вернитесь в Excel
Добавь в книгу чистый лист и поместите его на первое место
и запусти макрос СписокЛистов()
|
|