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

Вход

Регистрация

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

 

= Мир MS Excel/как назначить макрос не снимая защиту листа - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » как назначить макрос не снимая защиту листа (Макросы/Sub)
как назначить макрос не снимая защиту листа
bumnik Дата: Понедельник, 30.03.2015, 22:00 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 185
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007,2010
Здравствуйте! Подскажите, как назначить макрос не снимая защиту листа. На первом листе "начальная" назначен макрос к переключателю "стандартная цветовая палитра" и "моя цветовая палитра". макрос работает до листа который не имеет защиты. далее ошибка. пароль для каждого листа "123". ссылка на файл: https://disk.yandex.ru/client/disk
 
Ответить
СообщениеЗдравствуйте! Подскажите, как назначить макрос не снимая защиту листа. На первом листе "начальная" назначен макрос к переключателю "стандартная цветовая палитра" и "моя цветовая палитра". макрос работает до листа который не имеет защиты. далее ошибка. пароль для каждого листа "123". ссылка на файл: https://disk.yandex.ru/client/disk

Автор - bumnik
Дата добавления - 30.03.2015 в 22:00
KSV Дата: Понедельник, 30.03.2015, 22:26 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
не снимая - никак!
а что мешает макросом снять, а потом снова поставить? (а чтоб "не светить" пароль - установи пароль на VBA-проект)
[vba]
Код
With Sheets("БДМ№1")
       .Unprotect "123"
       With .Cells.Interior
           .Pattern = xlSolid
           .PatternColorIndex = xlAutomatic
           .ThemeColor = xlThemeColorDark1
           .TintAndShade = 0
           .PatternTintAndShade = 0
       End With
       With .Cells.Font
           .ThemeColor = xlThemeColorLight1
           .TintAndShade = 0
       End With
       .Range("A1").Select ' а так чуть быстрее: .Cells(1, 1).Select
       .Protect "123"
End With
[/vba]
[p.s.]и селектами нужно пользоваться только тогда, когда это действительно необходимо... (см. пример)


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333


Сообщение отредактировал KSV - Понедельник, 30.03.2015, 22:30
 
Ответить
Сообщениене снимая - никак!
а что мешает макросом снять, а потом снова поставить? (а чтоб "не светить" пароль - установи пароль на VBA-проект)
[vba]
Код
With Sheets("БДМ№1")
       .Unprotect "123"
       With .Cells.Interior
           .Pattern = xlSolid
           .PatternColorIndex = xlAutomatic
           .ThemeColor = xlThemeColorDark1
           .TintAndShade = 0
           .PatternTintAndShade = 0
       End With
       With .Cells.Font
           .ThemeColor = xlThemeColorLight1
           .TintAndShade = 0
       End With
       .Range("A1").Select ' а так чуть быстрее: .Cells(1, 1).Select
       .Protect "123"
End With
[/vba]
[p.s.]и селектами нужно пользоваться только тогда, когда это действительно необходимо... (см. пример)

Автор - KSV
Дата добавления - 30.03.2015 в 22:26
KuklP Дата: Понедельник, 30.03.2015, 23:11 | Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Не совсем никак. Выполните один раз это и после этого макросы будут работать на защищенных листах.
[vba]
Код
Sub www()
     Dim sh As Worksheet
     For Each sh In ThisWorkbook.Worksheets
         sh.Unprotect "123"
         sh.Protect "123", , , , -1
     Next
End Sub
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеНе совсем никак. Выполните один раз это и после этого макросы будут работать на защищенных листах.
[vba]
Код
Sub www()
     Dim sh As Worksheet
     For Each sh In ThisWorkbook.Worksheets
         sh.Unprotect "123"
         sh.Protect "123", , , , -1
     Next
End Sub
[/vba]

Автор - KuklP
Дата добавления - 30.03.2015 в 23:11
bumnik Дата: Понедельник, 30.03.2015, 23:22 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 185
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007,2010
KuklP, на белый фон переходит, а обратно на цветной фон ошибка.
 
Ответить
СообщениеKuklP, на белый фон переходит, а обратно на цветной фон ошибка.

Автор - bumnik
Дата добавления - 30.03.2015 в 23:22
KuklP Дата: Понедельник, 30.03.2015, 23:34 | Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
А так:
[vba]
Код
Sub www()
     Dim sh As Worksheet
     For Each sh In ThisWorkbook.Worksheets
         sh.Unprotect "123"
         sh.Protect "123", , , , -1, -1, -1, -1
     Next
End Sub
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеА так:
[vba]
Код
Sub www()
     Dim sh As Worksheet
     For Each sh In ThisWorkbook.Worksheets
         sh.Unprotect "123"
         sh.Protect "123", , , , -1, -1, -1, -1
     Next
End Sub
[/vba]

Автор - KuklP
Дата добавления - 30.03.2015 в 23:34
bumnik Дата: Понедельник, 30.03.2015, 23:42 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 185
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007,2010
KuklP, без изменений.
К сообщению приложен файл: 4803928.jpg (69.3 Kb)
 
Ответить
СообщениеKuklP, без изменений.

Автор - bumnik
Дата добавления - 30.03.2015 в 23:42
KuklP Дата: Понедельник, 30.03.2015, 23:51 | Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Твою мать, так ошибка какая - слишком длинная процедура! Поубирайте все строки со scroll* и будет работать. На макрорекордер надейся, а сам не плошай :)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеТвою мать, так ошибка какая - слишком длинная процедура! Поубирайте все строки со scroll* и будет работать. На макрорекордер надейся, а сам не плошай :)

Автор - KuklP
Дата добавления - 30.03.2015 в 23:51
bumnik Дата: Вторник, 31.03.2015, 00:07 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 185
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007,2010
KuklP, класс!. "скролл" убрал и всё работает!!! спасибо, спасибо!!! :)
 
Ответить
СообщениеKuklP, класс!. "скролл" убрал и всё работает!!! спасибо, спасибо!!! :)

Автор - bumnik
Дата добавления - 31.03.2015 в 00:07
Мир MS Excel » Вопросы и решения » Вопросы по VBA » как назначить макрос не снимая защиту листа (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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