![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 18.01.2012
Сообщений: 14
|
![]()
Ув. господа форумчане, у меня возникла проблема со скрытием листов, а их у меня > 31. На работе кто-то ежедневно втихоря портит мне все данные в таблицах и с утра мне головная боль искать ошибку. Я написал VBA код скрыть/показать лист - но он неработает! может у меня просто нехватает мозгов.....
код: Sub СКРЫТЬПОКАЗАТЬ(ByVal Target As Range) 'сначала делаю все листы с именем "Лист" скрытыми,их например 6 кроме листа "Общее" он у меня последний Dim sh As Worksheet For Each sh In ThisWorkbook.Worksheets If sh.Name Like "Лист*" Then sh.Visible = xlSheetHidden Next sh 'назначаю ячейку B2 отправной - там укажу номер листа который надо показать If Target.Address(0, 0) <> "B2" Then Exit Sub If Target.Count > 1 Then Exit Sub If Target = "" Then Exit Sub If Target = "1" Then Sheets("Лист1").Visible = xlSheetVisible 'показать только Лист1, все остальное непоказывать и т.д. If Target = "2" Then Sheets("Лист2").Visible = xlSheetVisible If Target = "3" Then Sheets("Лист3").Visible = xlSheetVisible If Target = "4" Then Sheets("Лист4").Visible = xlSheetVisible If Target = "5" Then Sheets("Лист5").Visible = xlSheetVisible If Target = "6" Then Sheets("Лист6").Visible = xlSheetVisible End Sub |
![]() |
![]() |
![]() |
#2 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
А код у вас вставлен в тот же файл, в котором надо скрывать листы?
Может, сделать проще? Активируете лист, который НЕ НАДО скрывать, запускаете макрос, - и он скрывает все листы, кроме активного. Устроит так? Цитата:
Как это происходит? Может, просто не выкладывать файл в общий доступ? Или поставить пароль на его открытие... |
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 18.01.2012
Сообщений: 14
|
![]()
Код вставлен в отдельный лист под именем "Общее" данные на нем защищены.
Я бы с удовольствием сделал бы по Вашему, но этой программой пользуются еще человек (напарник), он тоже заполняет ее, и в ЭКСЕЛЕ разбираеся плохо, умеет только правильно заполнять,мой вариант для него самый простой.А просматривают эту программу где -то 50...60 человек |
![]() |
![]() |
![]() |
#4 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
поставить пароль. все открывают в режиме чтения, вы с напарником - на полный доступ.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 17.07.2009
Сообщений: 1,088
|
![]()
А что-то из этой статьи не подойдет?
Каждому пользователю свой лист/диапазон
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 18.01.2012
Сообщений: 14
|
![]()
Класс спасибо подходит, только сложно, но возможно
![]() ![]() |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 03.08.2012
Сообщений: 38
|
![]()
Может, так?
Sub СКРЫТЬПОКАЗАТЬ() '(ByVal Target As Range) 'сначала делаю все листы с именем "Лист" скрытыми: Dim sh As Worksheet For Each sh In ThisWorkbook.Worksheets If sh.Name Like "Лист*" Then sh.Visible = xlSheetHidden Next sh If IsEmpty(ActiveSheet.Range("B2")) Then Exit Sub 'назначаю ячейку B2 отправной - там укажу номер листа который надо показать If IsNumeric(ActiveSheet.Range("B2")) Then Target = Range("B2").Value Else Exit Sub On Error Resume Next ' Если введен номер несуществующей страницы. ' Можно, конечно же, сделать проверку на наличие листа, но лень. Sheets("Лист" & Target).Visible = xlSheetVisible End Sub |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Показать только лист, выбранный в оглавлении, остальные скрыть | Alex_ST | Microsoft Office Excel | 6 | 07.06.2011 21:28 |
Показать\скрыть два разных DIV | kutt | JavaScript, Ajax | 5 | 06.03.2011 12:33 |
Показать/скрыть edit`ы | Rapala | Общие вопросы Delphi | 3 | 11.05.2010 09:20 |
как скрыть/показать TMainMenu | blackstersl | Общие вопросы Delphi | 3 | 13.06.2009 18:12 |
Показать и скрыть фигуры | Иванов_ДМ | Microsoft Office Excel | 5 | 28.04.2009 16:49 |