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

Вход

Регистрация

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

 

= Мир MS Excel/2 функции Workbook_Open в модуле книги - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » 2 функции Workbook_Open в модуле книги (Макросы/Sub)
2 функции Workbook_Open в модуле книги
gge29 Дата: Воскресенье, 06.11.2016, 21:12 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 159
Репутация: 3 ±
Замечаний: 0% ±

Товарищи помогите пожалуйста,как прикрыть доступ(только просмотр) одному из пользователей
Покопавшись в сети я нашёл очень много разного,выбрав одно походящее,не знаю как его связать друг с другом
Есть файл,в нём таблица,как для пользователя Петров заблокировать всю таблицу на Лист2,кроме диапазона
A1:K1 с возможностью использования фильтра,есть вот такая хорошая функция,но увы,в модуле листа
уже есть Workbook_Open и при смене названия на Auto_Open она не работает,работает только принудительно
[vba]
Код
Private Sub Workbook_Open()
    Worksheets("Лист2").ScrollArea = "A1:K1"
End Sub
[/vba]
admin -1
Петров -2
Сидоров-3
Махмуд -4
К сообщению приложен файл: 3163130.xls(77Kb)


Сообщение отредактировал gge29 - Воскресенье, 06.11.2016, 21:42
 
Ответить
СообщениеТоварищи помогите пожалуйста,как прикрыть доступ(только просмотр) одному из пользователей
Покопавшись в сети я нашёл очень много разного,выбрав одно походящее,не знаю как его связать друг с другом
Есть файл,в нём таблица,как для пользователя Петров заблокировать всю таблицу на Лист2,кроме диапазона
A1:K1 с возможностью использования фильтра,есть вот такая хорошая функция,но увы,в модуле листа
уже есть Workbook_Open и при смене названия на Auto_Open она не работает,работает только принудительно
[vba]
Код
Private Sub Workbook_Open()
    Worksheets("Лист2").ScrollArea = "A1:K1"
End Sub
[/vba]
admin -1
Петров -2
Сидоров-3
Махмуд -4

Автор - gge29
Дата добавления - 06.11.2016 в 21:12
_Boroda_ Дата: Воскресенье, 06.11.2016, 22:15 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 9346
Репутация: 3922 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
А так?
Добавку в Private Sub cmndbOK_Click() обозначил вот так
'==================

Забыл приложить файл. Кладу
К сообщению приложен файл: 4001897.xls(68Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995


Сообщение отредактировал _Boroda_ - Воскресенье, 06.11.2016, 22:31
 
Ответить
СообщениеА так?
Добавку в Private Sub cmndbOK_Click() обозначил вот так
'==================

Забыл приложить файл. Кладу

Автор - _Boroda_
Дата добавления - 06.11.2016 в 22:15
gge29 Дата: Воскресенье, 06.11.2016, 22:45 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 159
Репутация: 3 ±
Замечаний: 0% ±

Александр спасибо!!!То что надо!!!Завтра тестировать буду на основном
 
Ответить
СообщениеАлександр спасибо!!!То что надо!!!Завтра тестировать буду на основном

Автор - gge29
Дата добавления - 06.11.2016 в 22:45
gge29 Дата: Понедельник, 07.11.2016, 20:47 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 159
Репутация: 3 ±
Замечаний: 0% ±

Протестировав нашёл недостатки,как добавить пользователя с возможностью редактирования Листа2 и Листа3
 
Ответить
СообщениеПротестировав нашёл недостатки,как добавить пользователя с возможностью редактирования Листа2 и Листа3

Автор - gge29
Дата добавления - 07.11.2016 в 20:47
_Boroda_ Дата: Понедельник, 07.11.2016, 21:39 | Сообщение № 5
Группа: Модераторы
Ранг: Экселист
Сообщений: 9346
Репутация: 3922 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Так нужно?
Добавка или
[vba]
Код
                    If s <> "новый" Then
                    On Error Resume Next 'не обязательно, просто на всякий случай
                    Worksheets("Лист2").ScrollArea = "A1:K1"
                    On Error GoTo 0
                    End If
[/vba]
или
[vba]
Код
                    If s = "петров" Then
                    On Error Resume Next 'не обязательно, просто на всякий случай
                    Worksheets("Лист2").ScrollArea = "A1:K1"
                    On Error GoTo 0
                    End If
[/vba]
К сообщению приложен файл: 4001897_1.xls(68Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно?
Добавка или
[vba]
Код
                    If s <> "новый" Then
                    On Error Resume Next 'не обязательно, просто на всякий случай
                    Worksheets("Лист2").ScrollArea = "A1:K1"
                    On Error GoTo 0
                    End If
[/vba]
или
[vba]
Код
                    If s = "петров" Then
                    On Error Resume Next 'не обязательно, просто на всякий случай
                    Worksheets("Лист2").ScrollArea = "A1:K1"
                    On Error GoTo 0
                    End If
[/vba]

Автор - _Boroda_
Дата добавления - 07.11.2016 в 21:39
gge29 Дата: Понедельник, 07.11.2016, 21:44 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 159
Репутация: 3 ±
Замечаний: 0% ±

Александр спасибо!!!Вроде то что надо)))Буду тестировать
 
Ответить
СообщениеАлександр спасибо!!!Вроде то что надо)))Буду тестировать

Автор - gge29
Дата добавления - 07.11.2016 в 21:44
gge29 Дата: Среда, 09.11.2016, 21:40 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 159
Репутация: 3 ±
Замечаний: 0% ±

Протестировав нашёл один нюанс,не срабатывает на Иванова И.И.
У Петрова П.П. доступ есть на корректировку
а у Иванова И.И. доступа не должно быть.
При учётной записи "новый"всё работает,но сменив на фамилию,не работает.
[vba]
Код
If s <> "новый" Then
                    On Error Resume Next 'не обязательно, просто на всякий случай
                    Worksheets("Лист2").ScrollArea = "A1:K1"
                    On Error GoTo 0
                    End If
[/vba]
менял и на Петрова и Иванова [vba]
Код
If s <> "..........." Then
                    On Error Resume Next 'не обязательно, просто на всякий случай
                    Worksheets("Лист2").ScrollArea = "A1:K1"
                    On Error GoTo 0
                    End If
[/vba]
К сообщению приложен файл: 6892954.xls(71Kb)


Сообщение отредактировал gge29 - Среда, 09.11.2016, 21:46
 
Ответить
СообщениеПротестировав нашёл один нюанс,не срабатывает на Иванова И.И.
У Петрова П.П. доступ есть на корректировку
а у Иванова И.И. доступа не должно быть.
При учётной записи "новый"всё работает,но сменив на фамилию,не работает.
[vba]
Код
If s <> "новый" Then
                    On Error Resume Next 'не обязательно, просто на всякий случай
                    Worksheets("Лист2").ScrollArea = "A1:K1"
                    On Error GoTo 0
                    End If
[/vba]
менял и на Петрова и Иванова [vba]
Код
If s <> "..........." Then
                    On Error Resume Next 'не обязательно, просто на всякий случай
                    Worksheets("Лист2").ScrollArea = "A1:K1"
                    On Error GoTo 0
                    End If
[/vba]

Автор - gge29
Дата добавления - 09.11.2016 в 21:40
_Boroda_ Дата: Среда, 09.11.2016, 22:53 | Сообщение № 8
Группа: Модераторы
Ранг: Экселист
Сообщений: 9346
Репутация: 3922 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
А Вы ФИО в самом коде [vba]
Код
If s <> "..........." Then
[/vba] маленькими буквами пишете? У Вас выше есть такая строка
[vba]
Код
s = LCase(avItems(lr, 1))
[/vba]- LCase переводит все в строчные буквы


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеА Вы ФИО в самом коде [vba]
Код
If s <> "..........." Then
[/vba] маленькими буквами пишете? У Вас выше есть такая строка
[vba]
Код
s = LCase(avItems(lr, 1))
[/vba]- LCase переводит все в строчные буквы

Автор - _Boroda_
Дата добавления - 09.11.2016 в 22:53
gge29 Дата: Среда, 09.11.2016, 23:14 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 159
Репутация: 3 ±
Замечаний: 0% ±

А Вы ФИО в самом коде

Александр большими ПЕТРОВ П.П. и т.д.
 
Ответить
Сообщение
А Вы ФИО в самом коде

Александр большими ПЕТРОВ П.П. и т.д.

Автор - gge29
Дата добавления - 09.11.2016 в 23:14
_Boroda_ Дата: Среда, 09.11.2016, 23:27 | Сообщение № 10
Группа: Модераторы
Ранг: Экселист
Сообщений: 9346
Репутация: 3922 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
А теперь попробуйте маленькими.
Еще раз обращаю внимание - не в вып. списке, а именно в строке макроса
[vba]
Код
If s <> "новый" Then
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеА теперь попробуйте маленькими.
Еще раз обращаю внимание - не в вып. списке, а именно в строке макроса
[vba]
Код
If s <> "новый" Then
[/vba]

Автор - _Boroda_
Дата добавления - 09.11.2016 в 23:27
gge29 Дата: Среда, 09.11.2016, 23:50 | Сообщение № 11
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 159
Репутация: 3 ±
Замечаний: 0% ±

Александр спасибо!!!Вроде как работает,завтра опять тест)))
 
Ответить
СообщениеАлександр спасибо!!!Вроде как работает,завтра опять тест)))

Автор - gge29
Дата добавления - 09.11.2016 в 23:50
gge29 Дата: Пятница, 11.11.2016, 18:11 | Сообщение № 12
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 159
Репутация: 3 ±
Замечаний: 0% ±

Александр по правам доступа,всё работает отлично!!!Но вывалился ещё один недостаток,как кроме
"A1:K1"разрешить ещё диапазоны "A1:K1, A2:А100" не работает,и блокирует прокрутку когда файл с большим кол-вом строк
 
Ответить
СообщениеАлександр по правам доступа,всё работает отлично!!!Но вывалился ещё один недостаток,как кроме
"A1:K1"разрешить ещё диапазоны "A1:K1, A2:А100" не работает,и блокирует прокрутку когда файл с большим кол-вом строк

Автор - gge29
Дата добавления - 11.11.2016 в 18:11
gge29 Дата: Суббота, 12.11.2016, 22:33 | Сообщение № 13
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 159
Репутация: 3 ±
Замечаний: 0% ±

Возможно ли разблокировать диапазоны "A1:K1, A2:А100, B4" и как-то разрешить просмотр(прокрутку вниз и вверх)
 
Ответить
СообщениеВозможно ли разблокировать диапазоны "A1:K1, A2:А100, B4" и как-то разрешить просмотр(прокрутку вниз и вверх)

Автор - gge29
Дата добавления - 12.11.2016 в 22:33
gge29 Дата: Понедельник, 14.11.2016, 13:56 | Сообщение № 14
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 159
Репутация: 3 ±
Замечаний: 0% ±

Ну кто-нибудь,помогите пожалуйста решить проблему!!!!!
 
Ответить
СообщениеНу кто-нибудь,помогите пожалуйста решить проблему!!!!!

Автор - gge29
Дата добавления - 14.11.2016 в 13:56
Мир MS Excel » Вопросы и решения » Вопросы по VBA » 2 функции Workbook_Open в модуле книги (Макросы/Sub)
Страница 1 из 11
Поиск:

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