Страницы: 1
RSS
Снять защиту со всех объединенных ячеек
 
Добрый день. Помогите, пожалуйста: на листе есть много объединенных ячеек. Они залиты одним цветом (зеленый). Цель - защитить лист и разрешить редактирование только указанных ячеек. Как быстро выделить все такие ячейки и сделать незащищаемыми (Формат ячеек/Защита/Защищаемая ячейка)?
 
futurama3000,
Код
Sub Ìàêðîñ1()
Dim rng As Range, cell As Range, Un As Range
    Set rng = Range(Cells(1, 1), Cells(Range("A1").SpecialCells(xlLastCell).Row, Range("A1").SpecialCells(xlLastCell).Column))
For Each cell In rng
    If cell.MergeCells Then
        If Un Is Nothing Then
            Set Un = cell
        Else
            Set Un = Union(Un, cell)
        End If
    End If
Next cell
If Not Un Is Nothing Then Un.Cells.Select: Selection.Locked = False
End Sub
Не бойтесь совершенства. Вам его не достичь.
 
Еще вариант:
Код
Sub qqq()
    Dim r&, c&, rCount&, cCount&, addr$   'r, c - начальные строка и столбец
    rCount = 21 'конечная строка   (21)
    cCount = 7  'конечный столбец  (G)
For r = 1 To rCount
For c = 1 To cCount
 If Cells(r, c).MergeCells = True Then
    addr = Cells(r, c).Address
    Range(addr).Select
    Selection.Locked = False
 End If
Next c
Next r
    Sheets("Лист1").Protect
End Sub
Вот только похоже как это часто бывает - ТС наверное не все сказал... В названии темы - объединенные, а в примере зеленым и простые отмечены... Так что наверное нужно будет цвет определять и по нему ориентироваться...
 
Цитата
=_Igor_61 написал:
ТС наверное не все сказал
:D  все может быть, но я читаю название темы)
Не бойтесь совершенства. Вам его не достичь.
 
Спасибо! Я, действительно, некорректно сформулировал, простите: на листе есть зеленые диапазоны, среди которых встречаются объединенные ячейки. Защиту нужно снять со всех зеленых диапазонов.
Мне также удалось решить стандартными средствами: Ctrl+F >>> Формат >>> Заливка >>> выбрать искомую заливку >>> найти все >>> Ctrl+A (выделим все найденные) >>> Закрыть окно поиска >>> Ctrl+1 >>> Защита >>> Защищаемая ячейка – убрать галку >>> Эксель ругнётся на объединенные ячейки >>> Повторить Ctrl+1 >>> Защита >>> Защищаемая ячейка – убрать галку.
Страницы: 1
Наверх