
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.3] |
![]() |
|
Сообщ.
#1
,
|
|
|
на листе есть CheckBox. когда он включен необходимо заблокировать определенную ячейку (предварительно стоит Protect c UserInterfaceOnly:=True)
пишу код: ![]() ![]() With Range("ячейка") If ActiveSheet.Shapes("Flag 1").ControlFormat.Value = xlOn Then .Value = 3 .Locked = False End If End With выдает ошибку "нельзя установить свойство Locked класса Range" порылся в инете, ничего не понял, но добавил вместо ![]() ![]() .Locked = False ![]() ![]() .Select Selection.Locked = False все работает. внимание вопрос: какого черта тут оно работает если в первом случае не работало??? как по мне так один хрен Selection.Locked или Range("ячейка").Locked, а вот оказывается нифига! |
Сообщ.
#2
,
|
|
|
Selection.Locked - тут не причем
ключевым сдесь является .Select ты переводишь фокус с контрола на лист и после этого можно делать Range("ячейка").Locked и др. у CommandButton даже свойство есть такое TakeFocusOnClick (т.е. оставлять фокус на кнопке или нет) у CheckBox такого нет и поэтому фокус всегда на нем после клика, отсюда и проблема |
Сообщ.
#3
,
|
|
|
осознал... спс!
|
Сообщ.
#4
,
|
|
|
стоп.... а почему тогда
![]() ![]() With Range("ячейка") .Select .Locked = True End With не работает? только ![]() ![]() With Range("ячейка") .Select Selection.Locked = True End With |
Сообщ.
#5
,
|
|
|
У меня код
![]() ![]() Sub Макрос1() With Range("H6") .Select .Locked = True End With End Sub Прекрасно работает |
Сообщ.
#6
,
|
|
|
все... родил... даже select не нужен (vkodor отдавай назад плюсик
![]() например, объеденены "а1" и "а2"... выделяю их, присваиваю имя "ячейка" - имя присваивается только для "а1", а не для "а1:а2"!!!!... в результате я пытаюсь изменить свойство .locked не для всей объедененной ячейки, а только для одной из них!!! вот такая хрень. и на такую фигню я полдня убил! |
![]() |
Сообщ.
#7
,
|
|
Цитата Krasnaja Shapka @ у меня ячейки были объедены за что ж ты их.. ![]() Цитата в отношении имен работает то же правило В объединенную ячейку Excel помещает только данные верхнего левого угла из выделенного диапазона Данные из других ячеек уничтожаются. |
Сообщ.
#8
,
|
|
|
тьфу.... ну я писака "объединены", во!
![]() Добавлено п.с. какой-то значек не в тему попался... |