Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2009, 19:24   #1
Temnota
 
Регистрация: 20.11.2009
Сообщений: 7
По умолчанию Получить имена всех листов в книге

Подскажите, как получить имена листов ? в сторку с ячейки А1
Спасибо!
Temnota вне форума Ответить с цитированием
Старый 25.12.2009, 19:34   #2
пасечник
Заблокирован
 
Регистрация: 24.06.2009
Сообщений: 28
По умолчанию

Почитать в справке про
Worksheets Collection
Worksheets Property
и так далее
(типа про строку, про ячейку А1...).
Не стоит благодарнсти!

Последний раз редактировалось пасечник; 25.12.2009 в 19:38.
пасечник вне форума Ответить с цитированием
Старый 25.12.2009, 19:51   #3
Temnota
 
Регистрация: 20.11.2009
Сообщений: 7
По умолчанию

прошу помочь, как получить имя листа? и поместить имя в ячейку А1
Temnota вне форума Ответить с цитированием
Старый 25.12.2009, 20:06   #4
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Temnota.
если с помощью VBA - можно подобной конструкцией:
[a1] = ActiveSheet.Name
и ещё, в справке по VBA есть вот такой пример
Код:
For Each ws In Worksheets
    MsgBox ws.Name
Next ws
читайте, знания придут и возможно Вы не будете соответствовать своему НИКу.
Евгений.

Последний раз редактировалось Teslenko_EA; 25.12.2009 в 20:09.
Teslenko_EA вне форума Ответить с цитированием
Старый 26.12.2009, 05:45   #5
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Ну, зачем же так строго. Как правило, обучаться лучше всего на примерах рабочего кода. Один из "кучи" возможных вариантов:
Код:
Sub SheetsNames()
    Dim i As Integer: Rows(1).ClearContents
    For i = 1 To Sheets.Count: Cells(1, i) = Sheets(i).Name: Next
End Sub
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 26.12.2009, 07:23   #6
пасечник
Заблокирован
 
Регистрация: 24.06.2009
Сообщений: 28
По умолчанию

Чтобы ничего не испортить, лучше так:
Код:
Sub SheetsNames()
    Dim i As Integer
    Rows(1).Insert
    For i = 1 To Sheets.Count: Cells(1, i) = Sheets(i).Name: Next
End Sub
пасечник вне форума Ответить с цитированием
Старый 26.12.2009, 07:36   #7
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
Чтобы ничего не испортить, лучше так...
Ну, это, как говорится, автору виднее. Почему-то, я подсознательно думаю, что данный код не самоцель, а кусочек какой-то более мощной процедуры. И если ее предполагается запускать неограниченное количество раз, то нужно не добавлять строку, а обновлять данные. Опять же всей строки, или определенного диапазона, знает только автор вопроса.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В книге защищен каждый лист. Как быстро снять защиту со всех листов, а потом ее поставить опять? Катик7 Microsoft Office Excel 13 28.04.2011 16:02
Как получить имена классов всех элементов окна? Gerzs Общие вопросы Delphi 4 28.10.2009 14:15
Удаление листов в книге по определённым условиям inside9 Microsoft Office Excel 2 07.08.2009 13:37
Сравнение листов в книге, и копирование значений Josser Microsoft Office Excel 10 22.07.2009 08:26
Получить имена всех файлов, которые были открыты с помощью приложения Kn793 Общие вопросы Delphi 9 10.07.2008 15:31