Добрый день, форумчане!!! Задумка вот какая. Думал а можно ли прописать макрос, если сотрудник выбрал наименования листа из выпадающего списка и открывался данный лист (но при этом все эти листы скрыты должны быть). После чего он производит составление заявки и распечатывает или сохраняет. Возможно ли это??? Листы будут лишь те что указаны в выпадающем списке
Добрый день, форумчане!!! Задумка вот какая. Думал а можно ли прописать макрос, если сотрудник выбрал наименования листа из выпадающего списка и открывался данный лист (но при этом все эти листы скрыты должны быть). После чего он производит составление заявки и распечатывает или сохраняет. Возможно ли это??? Листы будут лишь те что указаны в выпадающем спискеlebensvoll
Как-то не очень Вас понял, поэтому предположения 1. Имеется файл с одним видимым и несколькими скрытыми листами. 2. На видимом листе есть список имён листов, при выборе какого-либо он становится видимым и активным.
Дальше с ним работают и либо печатают, либо сохраняют.
Теоретически не проблема, практически - результат сомнителен. Юзеры обязательно пооткрывают кучу листов и сохранят файл. В результате со временем большинство листов станет видимыми.
Как-то не очень Вас понял, поэтому предположения 1. Имеется файл с одним видимым и несколькими скрытыми листами. 2. На видимом листе есть список имён листов, при выборе какого-либо он становится видимым и активным.
Дальше с ним работают и либо печатают, либо сохраняют.
Теоретически не проблема, практически - результат сомнителен. Юзеры обязательно пооткрывают кучу листов и сохранят файл. В результате со временем большинство листов станет видимыми.Udik
вот вам барабан яд 41001231307558 wm R419131876897 udik1968@gmail.com
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
Всем добрый вечер. Прошу прощения что не отвечал (((( сейчас домой пришел обязательно со всеми вариантами поработаю. Заранее вам спасибо огромное. _Boroda_, Этот материал я уже где то видел и вы вроде бы мне уже как то рекомендовали )))) еще раз спасибо тебе за отзывчивость. Сейчас все посмотрю приду на работу обязательно попробую применить каждый из вариантов и отвечу всем
Всем добрый вечер. Прошу прощения что не отвечал (((( сейчас домой пришел обязательно со всеми вариантами поработаю. Заранее вам спасибо огромное. _Boroda_, Этот материал я уже где то видел и вы вроде бы мне уже как то рекомендовали )))) еще раз спасибо тебе за отзывчивость. Сейчас все посмотрю приду на работу обязательно попробую применить каждый из вариантов и отвечу всемlebensvoll
Wasilic, Доброе утро, а также всем!!! Спасибо еще раз за предложенный вариант. Очень замечательно сделан, но. Прошу вас создайте пожалуйста вот так вот листы. 1 Лист Выбор заявки 2 Лист Заявка на испытания кубов 3 Лист Акт приемки передачи образцов 4 Лист Заявка на неразрушающий контроль 5 Лист Заявка на выезд специалиста 6 Лист Акт выезда специалиста 7 Лист Корректировка А также чтоб на каждом листе была данная кнопка (которую вы уже создали в документе в своем). Просто я хотел было начать переносить в ваш вариант данные свои ((((( и не могу. Потому как открывается лишь лист 1 2 3 а все остальные не доступны. А изменить лист1 (вашего варианта) на наименование листа заявки также не могу (((( потому как они уже созданы (((( не могу понять я как то. Да и честно сказать не понимаю этот VBA в прописании. А так задумка супер людям не придется выбирать глазами нужные ему вкладки )))) на одном листе выбрал все параметры и нажал выбор заявки и вуаля )))) нужный лист открылся уже со всеми его данными ))). Там он выбирает объект строительства и нужные конструкционные оси указывает и распечатывает ))).
Wasilic, Доброе утро, а также всем!!! Спасибо еще раз за предложенный вариант. Очень замечательно сделан, но. Прошу вас создайте пожалуйста вот так вот листы. 1 Лист Выбор заявки 2 Лист Заявка на испытания кубов 3 Лист Акт приемки передачи образцов 4 Лист Заявка на неразрушающий контроль 5 Лист Заявка на выезд специалиста 6 Лист Акт выезда специалиста 7 Лист Корректировка А также чтоб на каждом листе была данная кнопка (которую вы уже создали в документе в своем). Просто я хотел было начать переносить в ваш вариант данные свои ((((( и не могу. Потому как открывается лишь лист 1 2 3 а все остальные не доступны. А изменить лист1 (вашего варианта) на наименование листа заявки также не могу (((( потому как они уже созданы (((( не могу понять я как то. Да и честно сказать не понимаю этот VBA в прописании. А так задумка супер людям не придется выбирать глазами нужные ему вкладки )))) на одном листе выбрал все параметры и нажал выбор заявки и вуаля )))) нужный лист открылся уже со всеми его данными ))). Там он выбирает объект строительства и нужные конструкционные оси указывает и распечатывает ))).lebensvoll
Roman777, спасибо за помощь!!! Но вариант Wasilic, как то более создан лучше. С вашим макросом открывается нужный лист но кнопки назад (возвращение на лист "выбора заявки" и закрывание при этом этого листа нет (((() Но все равно спасибо.
Roman777, спасибо за помощь!!! Но вариант Wasilic, как то более создан лучше. С вашим макросом открывается нужный лист но кнопки назад (возвращение на лист "выбора заявки" и закрывание при этом этого листа нет (((() Но все равно спасибо.lebensvoll
Wasilic, _Boroda_, ПРОШУ ВАС не покидайте меня помогите исправить файл. С меня народ просит заявки (((( а я их всех морожу )))) говорю сейчас!!! СКОРО, ЖДИТЕ!!!
Wasilic, _Boroda_, ПРОШУ ВАС не покидайте меня помогите исправить файл. С меня народ просит заявки (((( а я их всех морожу )))) говорю сейчас!!! СКОРО, ЖДИТЕ!!!lebensvoll
Wasilic, _Boroda_, ПРОШУ ВАС не покидайте меня помогите исправить файл. С меня народ просит заявки (((( а я их всех морожу )))) говорю сейчас!!! СКОРО, ЖДИТЕ!!!
Wasilic, _Boroda_, ПРОШУ ВАС не покидайте меня помогите исправить файл. С меня народ просит заявки (((( а я их всех морожу )))) говорю сейчас!!! СКОРО, ЖДИТЕ!!!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] Тогда сможете переименовать/добавить свои листы.
открывается лишь лист 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
Manyasha, добрый день!!! Я бы с удовольствием проделал бы это если понимал в VBA что и как (((((. В приложенном файле в первую очередь нет листа "Акт выезда" ((((( выдает ошибку. Я думал нужно тогда ЛИСТы изменить наименование (((( НО КАК ИХ ПЕРЕИМЕНОВАТЬ??? Я попытался при выборе листа 1 изменить его наименование но ((((( опять не позволяет (((( потому как они вроде бы есть. Прошу вас помочь! Создайте пожалуйста или измените этот файл чтоб были именно эти листы с этими наименованиями: 1 Лист Выбор заявки 2 Лист Заявка на испытания кубов 3 Лист Акт приемки передачи образцов 4 Лист Заявка на неразрушающий контроль 5 Лист Заявка на выезд специалиста 6 Лист Акт выезда специалиста 7 Лист Корректировка 1 Лист видимый остальные не видимые. Я потом туда внесу все свои данные и обязательно на на всех листах с листа 2 по лист 7 имелась кнопка на возврат листа 1 выбор заявки. СПАСИБО ВАМ ОГРОМНОЕ ЗАРАНЕЕ
Manyasha, добрый день!!! Я бы с удовольствием проделал бы это если понимал в VBA что и как (((((. В приложенном файле в первую очередь нет листа "Акт выезда" ((((( выдает ошибку. Я думал нужно тогда ЛИСТы изменить наименование (((( НО КАК ИХ ПЕРЕИМЕНОВАТЬ??? Я попытался при выборе листа 1 изменить его наименование но ((((( опять не позволяет (((( потому как они вроде бы есть. Прошу вас помочь! Создайте пожалуйста или измените этот файл чтоб были именно эти листы с этими наименованиями: 1 Лист Выбор заявки 2 Лист Заявка на испытания кубов 3 Лист Акт приемки передачи образцов 4 Лист Заявка на неразрушающий контроль 5 Лист Заявка на выезд специалиста 6 Лист Акт выезда специалиста 7 Лист Корректировка 1 Лист видимый остальные не видимые. Я потом туда внесу все свои данные и обязательно на на всех листах с листа 2 по лист 7 имелась кнопка на возврат листа 1 выбор заявки. СПАСИБО ВАМ ОГРОМНОЕ ЗАРАНЕЕlebensvoll
Manyasha, Я вроде бы понял куда внести предложенный вами код [vba]
Код
For Each sh In ThisWorkbook.Sheets sh.Visible = -1 Next sh
[/vba] и у меня получилось их сделать видимыми (((( я изменил наименования ((((( и ваш код удалил снова. Все листы видимы и при выборе заявки не все они открываются (((((
Manyasha, Я вроде бы понял куда внести предложенный вами код [vba]
Код
For Each sh In ThisWorkbook.Sheets sh.Visible = -1 Next sh
[/vba] и у меня получилось их сделать видимыми (((( я изменил наименования ((((( и ваш код удалил снова. Все листы видимы и при выборе заявки не все они открываются (((((lebensvoll
на листе 1 в В3: Заявка на неразрушайку, макрос ищет лист с таким именем. А лист у Вас называется "Заявка на неразрушающий контрол". Список в В3 должен содержать точные наименования листов.
на листе 1 в В3: Заявка на неразрушайку, макрос ищет лист с таким именем. А лист у Вас называется "Заявка на неразрушающий контрол". Список в В3 должен содержать точные наименования листов.Manyasha