Страницы: 1 2 След.
RSS
скрыть столбцы/строки
 
Всем доброго утра и поменьше пробок на дорогах  
excel защищен, права на редактирование даны куче людей. каждому своя колонка  
как скрыть защищенные строки/столбцы в зависимости от пользователя?  
 
гугл/яндекс не помог
 
Есть подозрение, что вы плохо искали.  
 
В модуль книги  
Private Sub Workbook_Open()  
   Sheets("Лист1").Unprotect Password:="000"  
   If Application.UserName = "Sva" Then Sheets("Лист1").Range("A:E").EntireColumn.Hidden = True  
   Sheets("Лист1").Protect Password:="000", DrawingObjects:=True, Contents:=True, Scenarios:=True  
End Sub
 
{quote}{login=sva}{date=15.09.2010 08:57}{thema=}{post}Есть подозрение, что вы плохо искали.  
 
В модуль книги  
Private Sub Workbook_Open()  
   Sheets("Лист1").Unprotect Password:="000"  
   If Application.UserName = "Sva" Then Sheets("Лист1").Range("A:E").EntireColumn.Hidden = True  
   Sheets("Лист1").Protect Password:="000", DrawingObjects:=True, Contents:=True, Scenarios:=True  
End Sub{/post}{/quote}  
 
это то я нашел. имел ввиду другое. защита листа сделана по другому. через пользователей windows
 
{quote}{login=}{date=15.09.2010 04:43}{thema=Re: }{post}{quote}{login=sva}{date=15.09.2010 08:57}{thema=}{post}Есть подозрение, что вы плохо искали.  
 
В модуль книги  
Private Sub Workbook_Open()  
   Sheets("Лист1").Unprotect Password:="000"  
   If Application.UserName = "Sva" Then Sheets("Лист1").Range("A:E").EntireColumn.Hidden = True  
   Sheets("Лист1").Protect Password:="000", DrawingObjects:=True, Contents:=True, Scenarios:=True  
End Sub{/post}{/quote}  
 
это то я нашел. имел ввиду другое. защита листа сделана по другому. через пользователей windows{/post}{/quote}  
 
Application.UserName = "Sva" - А это кто тогда?
 
{quote}{login=}{date=15.09.2010 04:57}  
Application.UserName = "Sva" - А это кто тогда?{/post}{/quote}  
 
Sva - это пользователь из актив директори?  
еще select Range("A:E")- это принудительно описывать какие ячейки скрыть, а какие нет?  
я же хотел чтобы скрылось всё что не принадлежит человеку
 
потому как этих колонок 135 на одном листе  
на другом чуть меньше
 
с субботним утром всех  
я никак не могу сообразить.прошу помощи у сообщества  
создал файл, для определенных столбцов прописал разрешения.  
дал ОБЩИЙ доступ к книге  
 
теперь  на открытие должен работать  
 
Sub Auto_Open()  
ActiveSheet.Protect Password:="000", DrawingObjects:=True, Contents:=True, Scenarios:=True, UserInterfaceOnly:=True  
tt = Environ("username") 'имя пользователя windows  
 Select Case tt  
 Case Is = "Я"  
      Sheets("bd").Range("A:EG").EntireColumn.Hidden = True  
      Sheets("bd").Range("B:F").EntireColumn.Hidden = False    
 End Select  
End Sub  
 
сохранил. открыл. ошибка.  
Application-defined or object-defined error
 
Файлик свой выложите.
 
воскресного вечера и хорошего утра завтра  
 
вот, примерно создал файл с которым я работаю  
смысл: в зависимости от пользователя скрыть столбцы.    
при этом файл должен:  
1. быть в общем доступе(одновременная работа около n человек)  
2. чтобы работали макрос и кнопки  
 
с надеждой на разрешение ситуации
 
Вы защиту снимите с листа, а потом скрывайте стобцы.
 
{quote}{login=sva}{date=20.09.2010 09:20}{thema=}{post}Вы защиту снимите с листа, а потом скрывайте стобцы.{/post}{/quote}  
 
насколько я пробовал невозможно снять защиту с листа не запретив общий доступ
 
после двух часов можно делать сепуку
 
Может быть не использовать защиту, а всё разграничение делать макросом? Или вообще разделить данные по разным файлам - каждому свой, а в сводный собирать макросом?
 
{quote}{login=Hugo}{date=20.09.2010 11:31}{thema=}{post}Может быть не использовать защиту, а всё разграничение делать макросом? Или вообще разделить данные по разным файлам - каждому свой, а в сводный собирать макросом?{/post}{/quote}  
 
общий доступ!!
 
Ну так если несовместимо изменение защиты и общий доступ - надо что-то менять.
 
Смотрите, только сначала сделайте файл общим или сделайте проверку на случай, если файл будет не в общем доступе.
 
{quote}{login=sva}{date=20.09.2010 12:06}{thema=}{post}Смотрите, только сначала сделайте файл общим или сделайте проверку на случай, если файл будет не в общем доступе.{/post}{/quote}  
 
я тоже так делал, но когда файл открыт другим пользователем происходит у него ошибка-  
потеряна связь с файлом другой пользователь или перезаписал его
 
Это из-за общего доступа, т.к. в макросе он сначала снимается, а потом ставиться с сохранением книги. При таком варианте проще - каждому пользователю свой файл, и один сводный.
 
плохо
 
Selection.EntireColumn.Hidden = заблокировать такую возможность можно?
 
Попробуйте на Workbook_SheetChange() или Worksheet_Change() повесить проверку имени пользователя и скрытие/открытие нужных областей (сам не пробовал). А с отключенными макросами вообще всё скрывать, кроме грозной надписи.
 
про защите листа и общем доступе не работают макросы если не отключить защиту листа.  
 
если без защиты листа, то у пользователя появляется возможность показать скрыть колонки
 
В общем доступе макросы работают, их только посмотреть нельзя. Или я Вас не понял.  
А про показать/скрыть - так вот макросом и по пальцам ему. Если получится - не проверял.
 
{quote}{login=Hugo}{date=20.09.2010 02:26}{thema=}{post}В общем доступе макросы работают, их только посмотреть нельзя. Или я Вас не понял.  
А про показать/скрыть - так вот макросом и по пальцам ему. Если получится - не проверял.{/post}{/quote}  
 
 
да ёклмн, как работает то?  
вот у меня не работает....!!!!!!
 
а лист при этом защищён?  
 
приложите файл пожалуйста
 
У меня постоянно один файл общего доступа с макросами в работе - никто не жалуется.  
А вот не дать открыть скрытые колонки макросом не получается... Разве что убрать такие команды из меню - была такая тема... Но ушлый пользователь может свой макрос сотряпать для открытия колонок - без пароля никак не защитится. А с другой стороны - пароль этот тоже никакая не защита.
 
Нет, лист не защищён. Файл приложить не могу.
 
{quote}{login=Hugo}{date=20.09.2010 02:38}{thema=}{post}Нет, лист не защищён. Файл приложить не могу.{/post}{/quote}  
настолько ушлых которые смогут свой макрос состряпать нет. к тому же при общем доступе доступ к макросам запрещен.  
 
не выходит у меня каменный цветок  
в эту книгу поместил следующий код  
как эта штука должна работать? при любом изменении чего-то на листе скрывать B:D  
 
 
Private Sub Worksheet_Change(ByVal Target As Range)  
   Dim r As Range  
     
   Set r = Range("$B:$D")  
         
   If Not (Intersect(r, Target) Is Nothing) Then  
       Range("$B:$D").Select  
       Selection.EntireColumn.Hidden = True   'ñòîëáåö Å èìååò íîìåð 5  
   End If  
End Sub
 
Скрыть-то получается на изменение на листе или в книге - вот запретить открыть и посмотреть не получается.
 
при общем доступе отключается возможность скрыть показать. значит к этой возможности можно добраться. вот только где она сидит?????
Страницы: 1 2 След.
Читают тему
Наверх