подскажите, пожалуйста, можно ли разграничить доступ к разным листам книги разным пользователям?
суть в следующем: полная информация расположена в одной книге, несекретная часть информации дублируется в другой они связаны между собой ссылками на ячейки для совместной работы
так как ссылки между книгами подвержены разрывам по разным причинам и неудобны для копирования, то хотелось иметь одну книгу, но с разграничением доступа к листам
например, Лист1, Лист2, Лист3 может открыть только один человек (он же устанавливает какие листы доступны другим пользователям), а Лист4 и Лист5 доступны всем остальным (или установленному кругу лиц)
возможно ли такое? есть ли какие-либо механизмы, позволяющие это сделать? макросы или встроенные средства чтение хелпа не помогло, увы...
спасибо
Здравствуйте!
подскажите, пожалуйста, можно ли разграничить доступ к разным листам книги разным пользователям?
суть в следующем: полная информация расположена в одной книге, несекретная часть информации дублируется в другой они связаны между собой ссылками на ячейки для совместной работы
так как ссылки между книгами подвержены разрывам по разным причинам и неудобны для копирования, то хотелось иметь одну книгу, но с разграничением доступа к листам
например, Лист1, Лист2, Лист3 может открыть только один человек (он же устанавливает какие листы доступны другим пользователям), а Лист4 и Лист5 доступны всем остальным (или установленному кругу лиц)
возможно ли такое? есть ли какие-либо механизмы, позволяющие это сделать? макросы или встроенные средства чтение хелпа не помогло, увы...
Serge_007, спасибо но как-то сложнова-то с именами пользователя.... т.е. там только по листу каждому выделено? а если одному надо все, а второму только 12 листов, а третьему ни одного? это как-то надо все модифицировать ведь? и довольно серьезно... увы, моя квалификация оставляет желать...
но за подсказку спасибо, конечно... будем думать...
Serge_007, спасибо но как-то сложнова-то с именами пользователя.... т.е. там только по листу каждому выделено? а если одному надо все, а второму только 12 листов, а третьему ни одного? это как-то надо все модифицировать ведь? и довольно серьезно... увы, моя квалификация оставляет желать...
но за подсказку спасибо, конечно... будем думать...карандаш
Сообщение отредактировал карандаш - Понедельник, 01.04.2013, 02:33
А чего тут думать? Имена листов приведены как пример, Вы можете их и не использовать Алгоритм: Если имя пользователя равно заданному то показываем определенные листы
А чего тут думать? Имена листов приведены как пример, Вы можете их и не использовать Алгоритм: Если имя пользователя равно заданному то показываем определенные листыSerge_007
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] Гы) Красота
Так например, в модуль книги: [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