Разблокировка ячеек в Excel выбрана по имени Office 2007 - PullRequest
1 голос
/ 02 сентября 2010

У меня есть 3 ячейки, которые объединены друг с другом и на которые ссылается данное имя ячейки (например, "foo").

Теперь я хочу разблокировать эти ячейки с атрибутом locked.

Блокировка в следующем коде будет не работать, но значение будет успешно присвоено ячейке:

Workbooks(loadedSheetName).Worksheets("foo").Range("bar").Locked = False
Workbooks(loadedSheetName).Worksheets("foo").Range("bar") = "foo value"

Будет работать ссылка на ячейки с помощью "координаты ", но на самом деле это не вариант для меня:

Workbooks(loadedSheetName).Worksheets("foo").Range("B3:E3").Locked = False

Есть ли возможность выбрать несколько объединенных ячеек по имени и установить для атрибута locked значение false?

Ответы [ 2 ]

3 голосов
/ 03 сентября 2010

Следующий код работает нормально в моем Excel 2007


Sub aa()
    Dim ce As Range
    Application.ScreenUpdating = False ''# screen flicker off
    ActiveSheet.Unprotect Password:=""
    For Each ce In Range("rng")
        ce.MergeArea.Locked = "False"
    Next ce
    ActiveSheet.Protect Password:=""
End Sub

НТН!

0 голосов
/ 14 декабря 2018

Вам не нужно проходить каждую клетку в Range.

Просто ...

 Range("myRangeName").Select
 Selection.Locked = False
...