Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как в макросе не указывать имя книги - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как в макросе не указывать имя книги (Макросы/Sub)
Как в макросе не указывать имя книги
fisium Дата: Пятница, 08.08.2014, 09:31 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

2003-2007
Создал макрос на копирование листов из текущей книги в новую.
[vba]
Код
Private Sub CommandButton1_Click()
With Application.Workbooks.Item("Программа ВКК Демо 16.10.2013.xls")
Sheets("ОТЧЕТ ОК").Visible = True
Sheets("КК Шухарта КП ОК весь диапазон").Visible = True
Sheets("КК Шухарта КП методом ОК").Visible = True
Sheets(Array("КК Шухарта КП ОК весь диапазон", "КК Шухарта КП методом ОК", "ОТЧЕТ ОК")).Copy
Windows("Программа ВКК Демо 16.10.2013.xls").Activate
Sheets("ОТЧЕТ ОК").Visible = False
Sheets("КК Шухарта КП ОК весь диапазон").Visible = False
Sheets("КК Шухарта КП методом ОК").Visible = False
End With
[/vba]
Если изменить имя книги "Программа ВКК Демо 16.10.2013.xls" то макрос работать не будет, как прописать макрос так что бы не указывать имя книги
 
Ответить
СообщениеСоздал макрос на копирование листов из текущей книги в новую.
[vba]
Код
Private Sub CommandButton1_Click()
With Application.Workbooks.Item("Программа ВКК Демо 16.10.2013.xls")
Sheets("ОТЧЕТ ОК").Visible = True
Sheets("КК Шухарта КП ОК весь диапазон").Visible = True
Sheets("КК Шухарта КП методом ОК").Visible = True
Sheets(Array("КК Шухарта КП ОК весь диапазон", "КК Шухарта КП методом ОК", "ОТЧЕТ ОК")).Copy
Windows("Программа ВКК Демо 16.10.2013.xls").Activate
Sheets("ОТЧЕТ ОК").Visible = False
Sheets("КК Шухарта КП ОК весь диапазон").Visible = False
Sheets("КК Шухарта КП методом ОК").Visible = False
End With
[/vba]
Если изменить имя книги "Программа ВКК Демо 16.10.2013.xls" то макрос работать не будет, как прописать макрос так что бы не указывать имя книги

Автор - fisium
Дата добавления - 08.08.2014 в 09:31
paramedic Дата: Пятница, 08.08.2014, 09:45 | Сообщение № 2
Группа: Проверенные
Ранг: Участник
Сообщений: 67
Репутация: 6 ±
Замечаний: 0% ±

Excel 2007
Делаем вначале
[vba]
Код

dim wb as workbook
Set wb=Application.ThisWorkbook
with wb
.......
wb.Activate  'вместо windows(...
.....
[/vba]


Я не ламер - я честный чайник
 
Ответить
СообщениеДелаем вначале
[vba]
Код

dim wb as workbook
Set wb=Application.ThisWorkbook
with wb
.......
wb.Activate  'вместо windows(...
.....
[/vba]

Автор - paramedic
Дата добавления - 08.08.2014 в 09:45
Rioran Дата: Пятница, 08.08.2014, 09:47 | Сообщение № 3
Группа: Авторы
Ранг: Ветеран
Сообщений: 903
Репутация: 290 ±
Замечаний: 0% ±

Excel 2013
fisium, здравствуйте.

Используя WITH Вы про точки не забыли?

Текущую книгу можно позвать по имени ThisWorkbook, а куда копируем - пусть будет активной.


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279
 
Ответить
Сообщениеfisium, здравствуйте.

Используя WITH Вы про точки не забыли?

Текущую книгу можно позвать по имени ThisWorkbook, а куда копируем - пусть будет активной.

Автор - Rioran
Дата добавления - 08.08.2014 в 09:47
Hugo Дата: Пятница, 08.08.2014, 10:00 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3255
Репутация: 707 ±
Замечаний: 0% ±

2019
Действительно, зачем там в коде with? Т.е. написали, но не используете.
И я уверен что изменение имени на работу кода не повлияет - только конечно если менять на имя открытой книги, иначе будет ошибка.
А ThisWorkbook - это не текущая книга, а книга с кодом! Это две большие разницы.


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеДействительно, зачем там в коде with? Т.е. написали, но не используете.
И я уверен что изменение имени на работу кода не повлияет - только конечно если менять на имя открытой книги, иначе будет ошибка.
А ThisWorkbook - это не текущая книга, а книга с кодом! Это две большие разницы.

Автор - Hugo
Дата добавления - 08.08.2014 в 10:00
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как в макросе не указывать имя книги (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!