Имена листов
Кто-нибудь из Вас знает можно ли в качестве значений функции:
- получить в явном виде имя листа книги;
- а лучше список имен листов книги;
- еще лучше список листов другой книги;
- и совсем хорошо - другой закрытой в данным момент книги;
Желательно, используя только встроенные функции (Excel 2000).
Спасибо заранее.
P.S. Функция ЯЧЕЙКА() - не работает с закрытыми книгами.
Уважаемые господа!
Кто-нибудь из Вас знает можно ли в качестве значений функции:
- получить в явном виде имя листа книги;
- а лучше список имен листов книги;
- еще лучше список листов другой книги;
- и совсем хорошо - другой закрытой в данным момент книги;
Желательно, используя только встроенные функции (Excel 2000).
Спасибо заранее.
P.S. Функция ЯЧЕЙКА() - не работает с закрытыми книгами.
Кто ж тебе даст из закрытой книги информацию забирать. А вдруг она запаролирована...
Если в ВБА, то это будет так:
Function NameOfSheet(c As Range) As String
NameOfSheet = c.Parent.Name
End Function
У любого листа есть два имени - внешнее (которое видно в Экселе) и внутреннее (оно видно только в ВБА). .Name возвращает внешнее. Для внутреннего нужно .CodeName .
Если ж тебе нужен список всех имен, то бери цикл
For Each w In Workbooks("Test.xls").Worksheets
Next w
w.Name соберешь в массив или куда тебе надо...
Кто ж тебе даст из закрытой книги информацию забирать. А вдруг она запаролирована...
...
Если ж тебе нужен список всех имен, то бери цикл
For Each w In Workbooks("Test.xls").Worksheets
Next w
А подобная подпрограмка будет работать с закрытыми книгами или тоже нет?
Все книги мои - просто не хочется одну и ту же информацию таскать по разным файлам. А думать все ли нужные файлы открыты не хочется.
Да к стати. Данные из закрытых книг легко читаются, но насколько я понимаю, только если обратиться к ним явным образом с полным путем к файлу (не используя ссылки).
Правда паролить этот файл я не пробывал.
А подобная подпрограмка будет работать с закрытыми книгами или тоже нет?
Все книги мои - просто не хочется одну и ту же информацию таскать по разным файлам. А думать все ли нужные файлы открыты не хочется.
Да к стати. Данные из закрытых книг легко читаются, но насколько я понимаю, только если обратиться к ним явным образом с полным путем к файлу (не используя ссылки).
Правда паролить этот файл я не пробывал.
Книга должна быть открытой.
Я тебе советую организовать свои файлы/задачи как-нибудь пооптимальнее.
Книга должна быть открытой.
Я тебе советую организовать свои файлы/задачи как-нибудь пооптимальнее.
Тогда вопрос: могу ли я использовать VBA-подпрограммы из закрытого excel-проекта?
Это уже имеет отношение не только к именам листов:
Пусть в некотором проекте написаны функции, использющие данные, хранящиеся в некотором excel-файле (желательно закрытом). И пусть файл этого проекта тоже закрыт. Смогу ли я подключить их (функции) в новом excel-файле и использовать их для работы с данными из закрытого excel-файла?
Или что-то (что именно?) обязательно должно быть открыто?
Спасибо.
Или по-другому:
Можно ли при открытии excel-файла автоматически открывать все файлы, на которые он ссылается?
Тогда вопрос: могу ли я использовать VBA-подпрограммы из закрытого excel-проекта?
Это уже имеет отношение не только к именам листов:
Пусть в некотором проекте написаны функции, использющие данные, хранящиеся в некотором excel-файле (желательно закрытом). И пусть файл этого проекта тоже закрыт. Смогу ли я подключить их (функции) в новом excel-файле и использовать их для работы с данными из закрытого excel-файла?
Или что-то (что именно?) обязательно должно быть открыто?
Спасибо.
Или по-другому:
Можно ли при открытии excel-файла автоматически открывать все файлы, на которые он ссылается?
Думаю, тебе поможет такая фича, как надстройка.
Создаешь книгу с нужными тебе макросами (почему бы тебе не потратить время на объединение всех макросов в одну книгу, сам потом меньше запутаешься, хотя в принципе можно создать хоть десять надстроек), и в свойствах этой книги (которые можно менять в окне ВБА, выделив ThisWorkbook) меняешь IsAddin на True.
Почитай в хелпе к Экселю и к ВБА про надстройки. Что не понятно, спрашивай.
...и в свойствах этой книги (которые можно менять в окне ВБА, выделив ThisWorkbook) меняешь IsAddin на True.
Почитай в хелпе к Экселю и к ВБА про надстройки. Что не понятно, спрашивай.
Спасибо за совет,
но боюсь это немного не то,что мне нужно.
Окно книги, содержащей макросы не видно (это есть хорошо), однако ее все равно надо открывать (это плохо).
Однако что-то в этом есть. Буду пробовать.
А по поводу надстроек я не очень понял: какую именно (из стандартных мне отдаленно подходит только Надстройка ODBC) ты рекомендуешь?
А по поводу надстроек я не очень понял: какую именно (из стандартных мне отдаленно подходит только Надстройка ODBC) ты рекомендуешь?
Я имел в виду создание твоей собственной надстройки.