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

Вход

Регистрация

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

 

= Мир MS Excel/разграничить доступ к листам одной книги - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » разграничить доступ к листам одной книги
разграничить доступ к листам одной книги
карандаш Дата: Понедельник, 01.04.2013, 01:44 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация: 8 ±
Замечаний: 0% ±

2010
Здравствуйте!

подскажите, пожалуйста, можно ли разграничить доступ к разным листам книги разным пользователям?

суть в следующем:
полная информация расположена в одной книге, несекретная часть информации дублируется в другой
они связаны между собой ссылками на ячейки для совместной работы

так как ссылки между книгами подвержены разрывам по разным причинам и неудобны для копирования, то хотелось иметь одну книгу, но с разграничением доступа к листам

например, Лист1, Лист2, Лист3 может открыть только один человек (он же устанавливает какие листы доступны другим пользователям), а Лист4 и Лист5 доступны всем остальным (или установленному кругу лиц)

возможно ли такое? есть ли какие-либо механизмы, позволяющие это сделать? макросы или встроенные средства
чтение хелпа не помогло, увы...

спасибо
 
Ответить
СообщениеЗдравствуйте!

подскажите, пожалуйста, можно ли разграничить доступ к разным листам книги разным пользователям?

суть в следующем:
полная информация расположена в одной книге, несекретная часть информации дублируется в другой
они связаны между собой ссылками на ячейки для совместной работы

так как ссылки между книгами подвержены разрывам по разным причинам и неудобны для копирования, то хотелось иметь одну книгу, но с разграничением доступа к листам

например, Лист1, Лист2, Лист3 может открыть только один человек (он же устанавливает какие листы доступны другим пользователям), а Лист4 и Лист5 доступны всем остальным (или установленному кругу лиц)

возможно ли такое? есть ли какие-либо механизмы, позволяющие это сделать? макросы или встроенные средства
чтение хелпа не помогло, увы...

спасибо

Автор - карандаш
Дата добавления - 01.04.2013 в 01:44
Serge_007 Дата: Понедельник, 01.04.2013, 01:54 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Макросами можно
При открытии файла проверять User Name (Environ) и при совпадении отображать необходимые листы

ЗЫ Сам пару лет назад спрашивал =Макрос прав доступа=- smile


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеМакросами можно
При открытии файла проверять User Name (Environ) и при совпадении отображать необходимые листы

ЗЫ Сам пару лет назад спрашивал =Макрос прав доступа=- smile

Автор - Serge_007
Дата добавления - 01.04.2013 в 01:54
карандаш Дата: Понедельник, 01.04.2013, 02:26 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация: 8 ±
Замечаний: 0% ±

2010
Serge_007,
спасибо
но как-то сложнова-то
с именами пользователя....
т.е. там только по листу каждому выделено?
а если одному надо все, а второму только 12 листов, а третьему ни одного?
это как-то надо все модифицировать ведь? и довольно серьезно...
увы, моя квалификация оставляет желать...

но за подсказку спасибо, конечно...
будем думать...


Сообщение отредактировал карандаш - Понедельник, 01.04.2013, 02:33
 
Ответить
СообщениеSerge_007,
спасибо
но как-то сложнова-то
с именами пользователя....
т.е. там только по листу каждому выделено?
а если одному надо все, а второму только 12 листов, а третьему ни одного?
это как-то надо все модифицировать ведь? и довольно серьезно...
увы, моя квалификация оставляет желать...

но за подсказку спасибо, конечно...
будем думать...

Автор - карандаш
Дата добавления - 01.04.2013 в 02:26
Serge_007 Дата: Понедельник, 01.04.2013, 07:44 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
А чего тут думать?
Имена листов приведены как пример, Вы можете их и не использовать
Алгоритм: Если имя пользователя равно заданному то показываем определенные листы


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеА чего тут думать?
Имена листов приведены как пример, Вы можете их и не использовать
Алгоритм: Если имя пользователя равно заданному то показываем определенные листы

Автор - Serge_007
Дата добавления - 01.04.2013 в 07:44
KuklP Дата: Понедельник, 01.04.2013, 08:25 | Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Так например, в модуль книги:
[vba]
Код
Private Sub Workbook_Open()
      Dim x
      For Each x In Array("Лист2", "Лист3", "Лист1 (2)", "Лист2 (2)", "Лист3 (2)")
          Sheets(x).Visible = 2
      Next

      Select Case Environ("UserName")
      Case "Serg"
          Sheets(1).Visible = True
          For Each x In Array("Лист2", "Лист3", "Лист1 (2)", "Лист2 (2)", "Лист3 (2)")
              Sheets(x).Visible = -1
          Next
      Case "masha"
          For Each x In Array("Лист2 (2)", "Лист3 (2)")
              Sheets(x).Visible = -1
          Next
      Case "pasha"
          For Each x In Array("Лист2", "Лист3", "Лист1 (2)")
              Sheets(x).Visible = -1
          Next
      End Select
End Sub
[/vba]
Гы) Красота smile
К сообщению приложен файл: 7813914.gif (19.9 Kb)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Понедельник, 01.04.2013, 08:28
 
Ответить
СообщениеТак например, в модуль книги:
[vba]
Код
Private Sub Workbook_Open()
      Dim x
      For Each x In Array("Лист2", "Лист3", "Лист1 (2)", "Лист2 (2)", "Лист3 (2)")
          Sheets(x).Visible = 2
      Next

      Select Case Environ("UserName")
      Case "Serg"
          Sheets(1).Visible = True
          For Each x In Array("Лист2", "Лист3", "Лист1 (2)", "Лист2 (2)", "Лист3 (2)")
              Sheets(x).Visible = -1
          Next
      Case "masha"
          For Each x In Array("Лист2 (2)", "Лист3 (2)")
              Sheets(x).Visible = -1
          Next
      Case "pasha"
          For Each x In Array("Лист2", "Лист3", "Лист1 (2)")
              Sheets(x).Visible = -1
          Next
      End Select
End Sub
[/vba]
Гы) Красота smile

Автор - KuklP
Дата добавления - 01.04.2013 в 08:25
Мир MS Excel » Вопросы и решения » Вопросы по Excel » разграничить доступ к листам одной книги
  • Страница 1 из 1
  • 1
Поиск:

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