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

Вход

Регистрация

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

 

= Мир MS Excel/макрос по цветовой блокировке ячеек работает не коректно - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » макрос по цветовой блокировке ячеек работает не коректно (Макросы/Sub)
макрос по цветовой блокировке ячеек работает не коректно
leskris Дата: Вторник, 01.03.2016, 10:17 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 63
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый день! подскажите пожалуйста почему этот макрос не запрещает доступ к ячейкам определенного цвета, если они объединены
[vba]
Код

Public Sub Protect_Cells(bInterior As Boolean)
    Dim rCell As Range, rRange As Range, rCr As Range
    Dim bLock As Boolean

    Worksheets("Finance").Unprotect "lex"
    On Error Resume Next
    
    Set rRange = Worksheets("Finance").Range("A1:m80")
    If rRange Is Nothing Then MsgBox "Range with mistake", vbCritical, "Error": Exit Sub
    
    Set rCr1 = Worksheets("Finance").Range("b1")
    'Set rCr2 = Worksheets("Finance").Range("b12")
    'Set rCr3 = Worksheets("Finance").Range("b14")
   ' If rRange Is Nothing Then MsgBox "Range with mistake", vbCritical, "Error": Exit Sub
   
    bLock = True

    rRange.Locked = Not bLock
    
    For Each rCell In rRange
        If bInterior Then
            If rCell.Interior.color = rCr1.Interior.color Then rCell.Locked = bLock
       Else
       rCell.Locked = False
       '     If rCell.Font.Color = rCr.Font.Color Then rCell.Locked = bLock
End If
    Next rCell
  
    ActiveSheet.Protect "lex"
End Sub

[/vba]

Как сделать чтобы объед.. ячейки тоже блокировались??
 
Ответить
СообщениеДобрый день! подскажите пожалуйста почему этот макрос не запрещает доступ к ячейкам определенного цвета, если они объединены
[vba]
Код

Public Sub Protect_Cells(bInterior As Boolean)
    Dim rCell As Range, rRange As Range, rCr As Range
    Dim bLock As Boolean

    Worksheets("Finance").Unprotect "lex"
    On Error Resume Next
    
    Set rRange = Worksheets("Finance").Range("A1:m80")
    If rRange Is Nothing Then MsgBox "Range with mistake", vbCritical, "Error": Exit Sub
    
    Set rCr1 = Worksheets("Finance").Range("b1")
    'Set rCr2 = Worksheets("Finance").Range("b12")
    'Set rCr3 = Worksheets("Finance").Range("b14")
   ' If rRange Is Nothing Then MsgBox "Range with mistake", vbCritical, "Error": Exit Sub
   
    bLock = True

    rRange.Locked = Not bLock
    
    For Each rCell In rRange
        If bInterior Then
            If rCell.Interior.color = rCr1.Interior.color Then rCell.Locked = bLock
       Else
       rCell.Locked = False
       '     If rCell.Font.Color = rCr.Font.Color Then rCell.Locked = bLock
End If
    Next rCell
  
    ActiveSheet.Protect "lex"
End Sub

[/vba]

Как сделать чтобы объед.. ячейки тоже блокировались??

Автор - leskris
Дата добавления - 01.03.2016 в 10:17
_Boroda_ Дата: Вторник, 01.03.2016, 10:25 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 9345
Репутация: 3921 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
попробуйте
[vba]
Код
rCell.MergeArea.Locked = bLock
[/vba]Или что-то в этом роде. Лениво за Вас рисовать файл и проверять там.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщениепопробуйте
[vba]
Код
rCell.MergeArea.Locked = bLock
[/vba]Или что-то в этом роде. Лениво за Вас рисовать файл и проверять там.

Автор - _Boroda_
Дата добавления - 01.03.2016 в 10:25
leskris Дата: Вторник, 01.03.2016, 10:38 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 63
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Спасибо! помогло, почему то не могу нажать кнопку повысить репутацию вам...
[moder]Все нормально. Нажал. Спасибо.


Сообщение отредактировал _Boroda_ - Вторник, 01.03.2016, 10:47
 
Ответить
СообщениеСпасибо! помогло, почему то не могу нажать кнопку повысить репутацию вам...
[moder]Все нормально. Нажал. Спасибо.

Автор - leskris
Дата добавления - 01.03.2016 в 10:38
leskris Дата: Вторник, 01.03.2016, 11:19 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 63
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
При снятии защиты с ячеек доступ получается не полный почему-то!

[vba]
Код
Worksheets("Finance").unProtect Password:=Worksheets("admin_voc").Range("read_only")
    Worksheets("app").unProtect Password:=Worksheets("admin_voc").Range("read_only")
[/vba]
Редактировать ячейки можно уже, но нет возможности изменять цвет, шрифт и другие параметры, какой параметр нужно указать, чтобы получить полный доступ??
[moder]А это уже к цветовой блокировке никакого отношения не имеет. Должна быть другая тема.


Сообщение отредактировал _Boroda_ - Вторник, 01.03.2016, 11:20
 
Ответить
СообщениеПри снятии защиты с ячеек доступ получается не полный почему-то!

[vba]
Код
Worksheets("Finance").unProtect Password:=Worksheets("admin_voc").Range("read_only")
    Worksheets("app").unProtect Password:=Worksheets("admin_voc").Range("read_only")
[/vba]
Редактировать ячейки можно уже, но нет возможности изменять цвет, шрифт и другие параметры, какой параметр нужно указать, чтобы получить полный доступ??
[moder]А это уже к цветовой блокировке никакого отношения не имеет. Должна быть другая тема.

Автор - leskris
Дата добавления - 01.03.2016 в 11:19
leskris Дата: Вторник, 01.03.2016, 11:41 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 63
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
так это цветовая разблокировка! обратный процесс, точно должна быть другая тема?
[moder]Конечно. Что-то типа "Снятие защиты листа не снимает блокировку форматов". И вот здесь уже очень неплохо было бы увидеть волшебный файлик.


Сообщение отредактировал _Boroda_ - Вторник, 01.03.2016, 11:44
 
Ответить
Сообщениетак это цветовая разблокировка! обратный процесс, точно должна быть другая тема?
[moder]Конечно. Что-то типа "Снятие защиты листа не снимает блокировку форматов". И вот здесь уже очень неплохо было бы увидеть волшебный файлик.

Автор - leskris
Дата добавления - 01.03.2016 в 11:41
Мир MS Excel » Вопросы и решения » Вопросы по VBA » макрос по цветовой блокировке ячеек работает не коректно (Макросы/Sub)
Страница 1 из 11
Поиск:

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