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

Вход

Регистрация

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

 

= Мир MS Excel/Открытие листа от выбранного значения (наименования листа) - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Открытие листа от выбранного значения (наименования листа) (Макросы/Sub)
Открытие листа от выбранного значения (наименования листа)
lebensvoll Дата: Вторник, 16.02.2016, 14:56 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 2 ±
Замечаний: 60% ±

Excel 2010
Добрый день, форумчане!!!
Задумка вот какая. Думал а можно ли прописать макрос, если сотрудник выбрал наименования листа из выпадающего списка и открывался данный лист (но при этом все эти листы скрыты должны быть). После чего он производит составление заявки и распечатывает или сохраняет. Возможно ли это???
Листы будут лишь те что указаны в выпадающем списке
К сообщению приложен файл: 4986638.xlsx(10Kb)


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеДобрый день, форумчане!!!
Задумка вот какая. Думал а можно ли прописать макрос, если сотрудник выбрал наименования листа из выпадающего списка и открывался данный лист (но при этом все эти листы скрыты должны быть). После чего он производит составление заявки и распечатывает или сохраняет. Возможно ли это???
Листы будут лишь те что указаны в выпадающем списке

Автор - lebensvoll
Дата добавления - 16.02.2016 в 14:56
Wasilich Дата: Вторник, 16.02.2016, 16:03 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 872
Репутация: 221 ±
Замечаний: 0% ±

2003
Так? Ярлычки листов можно убрать (в параметрах).
К сообщению приложен файл: lebensvoll.xls(53Kb)


Сообщение отредактировал Wasilic - Вторник, 16.02.2016, 16:11
 
Ответить
СообщениеТак? Ярлычки листов можно убрать (в параметрах).

Автор - Wasilich
Дата добавления - 16.02.2016 в 16:03
Udik Дата: Вторник, 16.02.2016, 16:06 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1215
Репутация: 153 ±
Замечаний: 0% ±

Excel 2013
Как-то не очень Вас понял, поэтому предположения
1. Имеется файл с одним видимым и несколькими скрытыми листами.
2. На видимом листе есть список имён листов, при выборе какого-либо он становится видимым и активным.

Дальше с ним работают и либо печатают, либо сохраняют.

Теоретически не проблема, практически - результат сомнителен. Юзеры обязательно пооткрывают кучу листов и сохранят файл. В результате со временем большинство листов станет видимыми.


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
СообщениеКак-то не очень Вас понял, поэтому предположения
1. Имеется файл с одним видимым и несколькими скрытыми листами.
2. На видимом листе есть список имён листов, при выборе какого-либо он становится видимым и активным.

Дальше с ним работают и либо печатают, либо сохраняют.

Теоретически не проблема, практически - результат сомнителен. Юзеры обязательно пооткрывают кучу листов и сохранят файл. В результате со временем большинство листов станет видимыми.

Автор - Udik
Дата добавления - 16.02.2016 в 16:06
Roman777 Дата: Вторник, 16.02.2016, 18:01 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 703
Репутация: 75 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
lebensvoll, попробуйте вставить в лист "ВЫБОР ЗАЯВКИ"
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> Cells(3, 2).Address Then Exit Sub
For i& = 1 To Worksheets.Count
  If Worksheets(i).Name <> "ВЫБОР ЗАЯВКИ" Then
     Worksheets(i).Visible = False
  End If
Next i
On Error Resume Next
Worksheets(Cells(3, 2).Text).Visible = True
Worksheets(Cells(3, 2).Text).Activate
End Sub
[/vba]


Много чего не знаю!!!!
 
Ответить
Сообщениеlebensvoll, попробуйте вставить в лист "ВЫБОР ЗАЯВКИ"
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> Cells(3, 2).Address Then Exit Sub
For i& = 1 To Worksheets.Count
  If Worksheets(i).Name <> "ВЫБОР ЗАЯВКИ" Then
     Worksheets(i).Visible = False
  End If
Next i
On Error Resume Next
Worksheets(Cells(3, 2).Text).Visible = True
Worksheets(Cells(3, 2).Text).Activate
End Sub
[/vba]

Автор - Roman777
Дата добавления - 16.02.2016 в 18:01
RAN Дата: Вторник, 16.02.2016, 18:21 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4277
Репутация: 829 ±
Замечаний: 0% ±

2010
практически - результат сомнителен

Почему? Аналогия - каждому юзеру свой лист.
Юзеры обязательно пооткрывают кучу листов и сохранят файл

И пусть.
По BeeforClose восстанавливаем статус-кво.
Можно и по BeeforSave.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
практически - результат сомнителен

Почему? Аналогия - каждому юзеру свой лист.
Юзеры обязательно пооткрывают кучу листов и сохранят файл

И пусть.
По BeeforClose восстанавливаем статус-кво.
Можно и по BeeforSave.

Автор - RAN
Дата добавления - 16.02.2016 в 18:21
Udik Дата: Вторник, 16.02.2016, 19:01 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1215
Репутация: 153 ±
Замечаний: 0% ±

Excel 2013
Смысла скрывать листы не вижу, всё равно откроют :)


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com
 
Ответить
СообщениеСмысла скрывать листы не вижу, всё равно откроют :)

Автор - Udik
Дата добавления - 16.02.2016 в 19:01
_Boroda_ Дата: Вторник, 16.02.2016, 20:33 | Сообщение № 7
Группа: Модераторы
Ранг: Экселист
Сообщений: 9374
Репутация: 3947 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Александр, посмотрите, возможно, Вам подойдет
http://www.excelworld.ru/forum/2-12031-103112-16-1405952890


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеАлександр, посмотрите, возможно, Вам подойдет
http://www.excelworld.ru/forum/2-12031-103112-16-1405952890

Автор - _Boroda_
Дата добавления - 16.02.2016 в 20:33
lebensvoll Дата: Вторник, 16.02.2016, 20:49 | Сообщение № 8
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 2 ±
Замечаний: 60% ±

Excel 2010
Всем добрый вечер. Прошу прощения что не отвечал (((( сейчас домой пришел обязательно со всеми вариантами поработаю. Заранее вам спасибо огромное.
_Boroda_, Этот материал я уже где то видел и вы вроде бы мне уже как то рекомендовали )))) еще раз спасибо тебе за отзывчивость.
Сейчас все посмотрю приду на работу обязательно попробую применить каждый из вариантов и отвечу всем


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеВсем добрый вечер. Прошу прощения что не отвечал (((( сейчас домой пришел обязательно со всеми вариантами поработаю. Заранее вам спасибо огромное.
_Boroda_, Этот материал я уже где то видел и вы вроде бы мне уже как то рекомендовали )))) еще раз спасибо тебе за отзывчивость.
Сейчас все посмотрю приду на работу обязательно попробую применить каждый из вариантов и отвечу всем

Автор - lebensvoll
Дата добавления - 16.02.2016 в 20:49
lebensvoll Дата: Среда, 17.02.2016, 09:57 | Сообщение № 9
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 2 ±
Замечаний: 60% ±

Excel 2010
Wasilic, Доброе утро, а также всем!!! Спасибо еще раз за предложенный вариант. Очень замечательно сделан, но. Прошу вас создайте пожалуйста вот так вот листы.
1 Лист Выбор заявки
2 Лист Заявка на испытания кубов
3 Лист Акт приемки передачи образцов
4 Лист Заявка на неразрушающий контроль
5 Лист Заявка на выезд специалиста
6 Лист Акт выезда специалиста
7 Лист Корректировка
А также чтоб на каждом листе была данная кнопка (которую вы уже создали в документе в своем). Просто я хотел было начать переносить в ваш вариант данные свои ((((( и не могу. Потому как открывается лишь лист 1 2 3 а все остальные не доступны. А изменить лист1 (вашего варианта) на наименование листа заявки также не могу (((( потому как они уже созданы (((( не могу понять я как то.
Да и честно сказать не понимаю этот VBA в прописании. А так задумка супер людям не придется выбирать глазами нужные ему вкладки )))) на одном листе выбрал все параметры и нажал выбор заявки и вуаля )))) нужный лист открылся уже со всеми его данными ))). Там он выбирает объект строительства и нужные конструкционные оси указывает и распечатывает ))).
К сообщению приложен файл: 8879264.xls(46Kb)


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеWasilic, Доброе утро, а также всем!!! Спасибо еще раз за предложенный вариант. Очень замечательно сделан, но. Прошу вас создайте пожалуйста вот так вот листы.
1 Лист Выбор заявки
2 Лист Заявка на испытания кубов
3 Лист Акт приемки передачи образцов
4 Лист Заявка на неразрушающий контроль
5 Лист Заявка на выезд специалиста
6 Лист Акт выезда специалиста
7 Лист Корректировка
А также чтоб на каждом листе была данная кнопка (которую вы уже создали в документе в своем). Просто я хотел было начать переносить в ваш вариант данные свои ((((( и не могу. Потому как открывается лишь лист 1 2 3 а все остальные не доступны. А изменить лист1 (вашего варианта) на наименование листа заявки также не могу (((( потому как они уже созданы (((( не могу понять я как то.
Да и честно сказать не понимаю этот VBA в прописании. А так задумка супер людям не придется выбирать глазами нужные ему вкладки )))) на одном листе выбрал все параметры и нажал выбор заявки и вуаля )))) нужный лист открылся уже со всеми его данными ))). Там он выбирает объект строительства и нужные конструкционные оси указывает и распечатывает ))).

Автор - lebensvoll
Дата добавления - 17.02.2016 в 09:57
lebensvoll Дата: Среда, 17.02.2016, 10:01 | Сообщение № 10
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 2 ±
Замечаний: 60% ±

Excel 2010
Roman777, спасибо за помощь!!! Но вариант Wasilic, как то более создан лучше. С вашим макросом открывается нужный лист но кнопки назад (возвращение на лист "выбора заявки" и закрывание при этом этого листа нет (((() Но все равно спасибо.


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеRoman777, спасибо за помощь!!! Но вариант Wasilic, как то более создан лучше. С вашим макросом открывается нужный лист но кнопки назад (возвращение на лист "выбора заявки" и закрывание при этом этого листа нет (((() Но все равно спасибо.

Автор - lebensvoll
Дата добавления - 17.02.2016 в 10:01
lebensvoll Дата: Среда, 17.02.2016, 10:43 | Сообщение № 11
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 2 ±
Замечаний: 60% ±

Excel 2010
Wasilic, _Boroda_, ПРОШУ ВАС не покидайте меня :'( помогите исправить файл.
С меня народ просит заявки (((( а я их всех морожу )))) говорю сейчас!!! СКОРО, ЖДИТЕ!!!


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеWasilic, _Boroda_, ПРОШУ ВАС не покидайте меня :'( помогите исправить файл.
С меня народ просит заявки (((( а я их всех морожу )))) говорю сейчас!!! СКОРО, ЖДИТЕ!!!

Автор - lebensvoll
Дата добавления - 17.02.2016 в 10:43
lebensvoll Дата: Среда, 17.02.2016, 10:43 | Сообщение № 12
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 2 ±
Замечаний: 60% ±

Excel 2010
Wasilic, _Boroda_, ПРОШУ ВАС не покидайте меня :'( помогите исправить файл.
С меня народ просит заявки (((( а я их всех морожу )))) говорю сейчас!!! СКОРО, ЖДИТЕ!!!


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеWasilic, _Boroda_, ПРОШУ ВАС не покидайте меня :'( помогите исправить файл.
С меня народ просит заявки (((( а я их всех морожу )))) говорю сейчас!!! СКОРО, ЖДИТЕ!!!

Автор - lebensvoll
Дата добавления - 17.02.2016 в 10:43
Manyasha Дата: Среда, 17.02.2016, 11:32 | Сообщение № 13
Группа: Модераторы
Ранг: Старожил
Сообщений: 1587
Репутация: 669 ±
Замечаний: 0% ±

Excel 2007, 2010
lebensvoll,
открывается лишь лист 1 2 3 а все остальные не доступны

Нажмите alt+f11. В окошке Properties (если нет, нажмите f4 или View - Properties window) поменяйте видимость листа на "-1 xlSheetVisible".
или макросом
[vba]
Код
    For Each sh In ThisWorkbook.Sheets
        sh.Visible = -1
    Next sh
[/vba]
Тогда сможете переименовать/добавить свои листы.


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеlebensvoll,
открывается лишь лист 1 2 3 а все остальные не доступны

Нажмите alt+f11. В окошке Properties (если нет, нажмите f4 или View - Properties window) поменяйте видимость листа на "-1 xlSheetVisible".
или макросом
[vba]
Код
    For Each sh In ThisWorkbook.Sheets
        sh.Visible = -1
    Next sh
[/vba]
Тогда сможете переименовать/добавить свои листы.

Автор - Manyasha
Дата добавления - 17.02.2016 в 11:32
lebensvoll Дата: Среда, 17.02.2016, 11:49 | Сообщение № 14
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 2 ±
Замечаний: 60% ±

Excel 2010
Manyasha, добрый день!!!
Я бы с удовольствием проделал бы это если понимал в VBA что и как (((((. В приложенном файле в первую очередь нет листа "Акт выезда" ((((( выдает ошибку. Я думал нужно тогда ЛИСТы изменить наименование (((( НО КАК ИХ ПЕРЕИМЕНОВАТЬ???
Я попытался при выборе листа 1 изменить его наименование но ((((( опять не позволяет (((( потому как они вроде бы есть.
Прошу вас помочь!
Создайте пожалуйста или измените этот файл чтоб были именно эти листы с этими наименованиями:
1 Лист Выбор заявки
2 Лист Заявка на испытания кубов
3 Лист Акт приемки передачи образцов
4 Лист Заявка на неразрушающий контроль
5 Лист Заявка на выезд специалиста
6 Лист Акт выезда специалиста
7 Лист Корректировка
1 Лист видимый остальные не видимые. Я потом туда внесу все свои данные и обязательно на на всех листах с листа 2 по лист 7 имелась кнопка на возврат листа 1 выбор заявки.
СПАСИБО ВАМ ОГРОМНОЕ ЗАРАНЕЕ
К сообщению приложен файл: 9206229.xls(46Kb)


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеManyasha, добрый день!!!
Я бы с удовольствием проделал бы это если понимал в VBA что и как (((((. В приложенном файле в первую очередь нет листа "Акт выезда" ((((( выдает ошибку. Я думал нужно тогда ЛИСТы изменить наименование (((( НО КАК ИХ ПЕРЕИМЕНОВАТЬ???
Я попытался при выборе листа 1 изменить его наименование но ((((( опять не позволяет (((( потому как они вроде бы есть.
Прошу вас помочь!
Создайте пожалуйста или измените этот файл чтоб были именно эти листы с этими наименованиями:
1 Лист Выбор заявки
2 Лист Заявка на испытания кубов
3 Лист Акт приемки передачи образцов
4 Лист Заявка на неразрушающий контроль
5 Лист Заявка на выезд специалиста
6 Лист Акт выезда специалиста
7 Лист Корректировка
1 Лист видимый остальные не видимые. Я потом туда внесу все свои данные и обязательно на на всех листах с листа 2 по лист 7 имелась кнопка на возврат листа 1 выбор заявки.
СПАСИБО ВАМ ОГРОМНОЕ ЗАРАНЕЕ

Автор - lebensvoll
Дата добавления - 17.02.2016 в 11:49
lebensvoll Дата: Среда, 17.02.2016, 11:59 | Сообщение № 15
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 2 ±
Замечаний: 60% ±

Excel 2010
Manyasha, Я вроде бы понял куда внести предложенный вами код
[vba]
Код
  For Each sh In ThisWorkbook.Sheets
        sh.Visible = -1
    Next sh
[/vba]
и у меня получилось их сделать видимыми (((( я изменил наименования ((((( и ваш код удалил снова. Все листы видимы и при выборе заявки не все они открываются (((((
К сообщению приложен файл: 2584222.xls(58Kb)


Кто бы ты ни был, мир в твоих руках

Сообщение отредактировал lebensvoll - Среда, 17.02.2016, 12:00
 
Ответить
СообщениеManyasha, Я вроде бы понял куда внести предложенный вами код
[vba]
Код
  For Each sh In ThisWorkbook.Sheets
        sh.Visible = -1
    Next sh
[/vba]
и у меня получилось их сделать видимыми (((( я изменил наименования ((((( и ваш код удалил снова. Все листы видимы и при выборе заявки не все они открываются (((((

Автор - lebensvoll
Дата добавления - 17.02.2016 в 11:59
Manyasha Дата: Среда, 17.02.2016, 12:01 | Сообщение № 16
Группа: Модераторы
Ранг: Старожил
Сообщений: 1587
Репутация: 669 ±
Замечаний: 0% ±

Excel 2007, 2010
НО КАК ИХ ПЕРЕИМЕНОВАТЬ???
да как обычно: ПКМ - по ярлычку листа-переименовать. Вы бы хоть попробовали сделать, то что я написала выше.

"Заявка на неразрушающий контроль" - слишком длинно название для листа, у меня последняя буква обрезалась.

Держите файл
К сообщению приложен файл: 9206229-1.xls(59Kb)


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщение
НО КАК ИХ ПЕРЕИМЕНОВАТЬ???
да как обычно: ПКМ - по ярлычку листа-переименовать. Вы бы хоть попробовали сделать, то что я написала выше.

"Заявка на неразрушающий контроль" - слишком длинно название для листа, у меня последняя буква обрезалась.

Держите файл

Автор - Manyasha
Дата добавления - 17.02.2016 в 12:01
Manyasha Дата: Среда, 17.02.2016, 12:05 | Сообщение № 17
Группа: Модераторы
Ранг: Старожил
Сообщений: 1587
Репутация: 669 ±
Замечаний: 0% ±

Excel 2007, 2010
не все они открываются

на листе 1 в В3: Заявка на неразрушайку, макрос ищет лист с таким именем.
А лист у Вас называется "Заявка на неразрушающий контрол". Список в В3 должен содержать точные наименования листов.


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщение
не все они открываются

на листе 1 в В3: Заявка на неразрушайку, макрос ищет лист с таким именем.
А лист у Вас называется "Заявка на неразрушающий контрол". Список в В3 должен содержать точные наименования листов.

Автор - Manyasha
Дата добавления - 17.02.2016 в 12:05
lebensvoll Дата: Среда, 17.02.2016, 12:12 | Сообщение № 18
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 2 ±
Замечаний: 60% ±

Excel 2010
Manyasha, да я вроде бы так и поступил :(
Цитата
Вы бы хоть попробовали сделать, то что я написала выше.

И поверьте мне я старался (((( но видать не учел именно этого
Цитата
Список в В3 должен содержать точные наименования листов.

Я ОЧЕНЬ БЛАГОДАРЕН ЭТОМУ ФОРУМУ!!! И отзывчивости понимающих людей в этом СПАСИБО ВАМ ОГРОМНЕЙШЕЕ...


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеManyasha, да я вроде бы так и поступил :(
Цитата
Вы бы хоть попробовали сделать, то что я написала выше.

И поверьте мне я старался (((( но видать не учел именно этого
Цитата
Список в В3 должен содержать точные наименования листов.

Я ОЧЕНЬ БЛАГОДАРЕН ЭТОМУ ФОРУМУ!!! И отзывчивости понимающих людей в этом СПАСИБО ВАМ ОГРОМНЕЙШЕЕ...

Автор - lebensvoll
Дата добавления - 17.02.2016 в 12:12
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Открытие листа от выбранного значения (наименования листа) (Макросы/Sub)
Страница 1 из 11
Поиск:

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