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

Вход

Регистрация

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

 

= Мир MS Excel/Как работать с листом взяв имя ( Name ) листа с ячейки? - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как работать с листом взяв имя ( Name ) листа с ячейки? (Копирование листа с именем из ячейки и работа с ним)
Как работать с листом взяв имя ( Name ) листа с ячейки?
Amon Дата: Понедельник, 04.06.2018, 15:21 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 53
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день. Искал в интернете и на форуме подобного не нашел , или плохо искал( Надеюсь это не так)
Есть макрос который если не находит листа с именем из ячейки, копирует другой лист и назначает ему имя из этой самой ячейки.
Скажите пожалуйста как возможно работать с этим листом чтобы каждый раз не задавать переменные для ново созданных листов?
Пробую так
[vba]
Код
  
В модуле обьявил
Public sahe As Worksheet
Public hase As Variant
'В Книге
hase = Workbooks("MFO_Scenariy.xlsm").Worksheets("basic_process").Range("A6").Value
Set sahe = Workbooks("Resultati_testov_mfo.xlsm").Worksheets(hase)
[/vba]
Но есть несколько проблем.
1) как я понял переменная задается только один раз когда я открываю документ ( Событие workbook open) И из-за этого если ячейки на момент открытия пустая то ошибка соответственно
2) Даже изменив значение в ячейке с именем листа, в переменной оно не меняется и работа макросов продолжается с тем листом который был в переменной на момент открытия документа
Как сделать так чтобы при открытии не ругалось я так понимаю просто поставить создание листа на допустим изменение в ячейке, а как назначить переменную так чтобы она тоже менялась и в макросах в т.ч.
Тоесть если я изменил значение ячейки скопировался лист имя присвоилось с ячейки и другие макросы уже могли работать с новосозданным листом?

Извиняюсь не в том разделе создал тему((
Перенести может только модератор да?
К сообщению приложен файл: MFO_Scenariy.xlsm(54.5 Kb) · Resultati_testo.xlsm(28.6 Kb)


Сообщение отредактировал Amon - Понедельник, 04.06.2018, 15:34
 
Ответить
СообщениеДобрый день. Искал в интернете и на форуме подобного не нашел , или плохо искал( Надеюсь это не так)
Есть макрос который если не находит листа с именем из ячейки, копирует другой лист и назначает ему имя из этой самой ячейки.
Скажите пожалуйста как возможно работать с этим листом чтобы каждый раз не задавать переменные для ново созданных листов?
Пробую так
[vba]
Код
  
В модуле обьявил
Public sahe As Worksheet
Public hase As Variant
'В Книге
hase = Workbooks("MFO_Scenariy.xlsm").Worksheets("basic_process").Range("A6").Value
Set sahe = Workbooks("Resultati_testov_mfo.xlsm").Worksheets(hase)
[/vba]
Но есть несколько проблем.
1) как я понял переменная задается только один раз когда я открываю документ ( Событие workbook open) И из-за этого если ячейки на момент открытия пустая то ошибка соответственно
2) Даже изменив значение в ячейке с именем листа, в переменной оно не меняется и работа макросов продолжается с тем листом который был в переменной на момент открытия документа
Как сделать так чтобы при открытии не ругалось я так понимаю просто поставить создание листа на допустим изменение в ячейке, а как назначить переменную так чтобы она тоже менялась и в макросах в т.ч.
Тоесть если я изменил значение ячейки скопировался лист имя присвоилось с ячейки и другие макросы уже могли работать с новосозданным листом?

Извиняюсь не в том разделе создал тему((
Перенести может только модератор да?

Автор - Amon
Дата добавления - 04.06.2018 в 15:21
_Boroda_ Дата: Понедельник, 04.06.2018, 15:41 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 12399
Репутация: 5092 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Вынес присвоение переменным в отдельный макрос, который запускается и при открытии книги, и при изменении данных на листе
Возможно, Вы этого хотели.
К сообщению приложен файл: MFO_Scenariy_1.xlsm(54.0 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВынес присвоение переменным в отдельный макрос, который запускается и при открытии книги, и при изменении данных на листе
Возможно, Вы этого хотели.

Автор - _Boroda_
Дата добавления - 04.06.2018 в 15:41
Amon Дата: Понедельник, 04.06.2018, 15:57 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 53
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
_Boroda_, Да, так стало намного лучше. Только единственная проблема которая осталась это когда лист не существует который вписан в а6 то ругается. Можно это как-то изменить? Просто по идее эта ячейка при выходе вообще должна очищаться.

[p.s.]Разобрался. ) Тему можно закрывать. Просто при выходе ячейке назначается имя шаблона для копирования и при открытии не ругается. Спасибо вам огромное за помощь.


Сообщение отредактировал Amon - Понедельник, 04.06.2018, 16:06
 
Ответить
Сообщение_Boroda_, Да, так стало намного лучше. Только единственная проблема которая осталась это когда лист не существует который вписан в а6 то ругается. Можно это как-то изменить? Просто по идее эта ячейка при выходе вообще должна очищаться.

[p.s.]Разобрался. ) Тему можно закрывать. Просто при выходе ячейке назначается имя шаблона для копирования и при открытии не ругается. Спасибо вам огромное за помощь.

Автор - Amon
Дата добавления - 04.06.2018 в 15:57
_Boroda_ Дата: Понедельник, 04.06.2018, 16:07 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 12399
Репутация: 5092 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Так?
К сообщению приложен файл: 6066543.xlsm(55.1 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак?

Автор - _Boroda_
Дата добавления - 04.06.2018 в 16:07
Amon Дата: Понедельник, 04.06.2018, 16:18 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 53
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Так?

Так даже лучше! Спасибо.
 
Ответить
Сообщение
Так?

Так даже лучше! Спасибо.

Автор - Amon
Дата добавления - 04.06.2018 в 16:18
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как работать с листом взяв имя ( Name ) листа с ячейки? (Копирование листа с именем из ячейки и работа с ним)
  • Страница 1 из 1
  • 1
Поиск:

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