title | keywords | f1_keywords | ms.prod | api_name | ms.assetid | ms.date | ms.localizationpriority |
---|---|---|---|---|---|---|---|
Range.Locked property (Excel) |
vbaxl10.chm144157 |
vbaxl10.chm144157 |
excel |
Excel.Range.Locked |
93c5f21d-6429-3287-0992-c810b9a429a8 |
05/11/2019 |
medium |
Range.Locked property (Excel)
Returns or sets a Variant value that indicates if the object is locked.
Syntax
expression.Locked
expression A variable that represents a Range object.
Remarks
This property returns True if the object is locked, False if the object can be modified when the sheet is protected, or Null if the specified range contains both locked and unlocked cells.
Example
This example unlocks cells A1:G37 on Sheet1 so that they can be modified when the sheet is protected.
Worksheets("Sheet1").Range("A1:G37").Locked = False Worksheets("Sheet1").Protect
[!includeSupport and feedback]
Использование свойств Enabled и Locked
Два свойства Enabled и Locked управляют тем, будут ли элементы управления или вся форма доступны пользователю. Очевидно, вы захотите получить полный доступ к элементам управления, находящимся в форме. В противном случае возникает вопрос, зачем же они тогда находятся в форме? Однако иногда элементы управления для вас недоступны. Очень часто элементы управления находятся в форме, однако в данный момент они окрашены в серый цвет. Это говорит о том, что использовать сейчас их нельзя. Например, если в текстовом процессоре не выделен какой-нибудь фрагмент текста, команда Cut (Вырезать) не доступна, так как вырезать нечего.
Свойство Enabled определяет, будет ли элемент управления или форма, находящиеся в фокусе, реагировать на движение мыши или нажатие клавиши на клавиатуре. В фокусе Windows может находиться только один объект. Для того чтобы показать, что данный объект находится в фокусе, Windows размещает вокруг данного элемента управления пунктирные границы.
Когда свойство Enabled равно True, элемент управления появляется обычным образом и может находиться в фокусе. Когда свойство Enabled равно False, Windows отображает на экране неактивную (серую) версию этого элемента управления, который не может находиться в фокусе (рис. 10.10).
Рис. 10.10. В этом диалоговом окне есть активные и неактивные переключатели и кнопки, а также неактивное текстовое поле
Свойство Locked определяет, что выполняет элемент управления. Если свойство Locked равно True, можно щелкать на элементе управления, использовать любые комбинации клавиш, бросать в него камнями, но элемент управления ничего не будет делать (обратитесь к разделу «Назначение быстрых клавиш» дальше в настоящей главе). Однако если свойство Enabled равно True, элемент управления будет находиться в фокусе и нормально выглядеть.
Читайте также
Редактирование свойств подключения
Редактирование свойств подключения
Иногда в процессе работы возникает необходимость изменить те или иные параметры созданного ранее подключения к Интернету. Характерные примеры – изменение телефонного номера, через который осуществляется подключение, учетных
Просмотр свойств оборудования
Просмотр свойств оборудования
Чтобы просмотреть свойства оборудования, выделите его в списке щелчком мыши и выполните команду главного Действие ? Свойства или команду Свойства контекстного меню, вызываемого нажатием правой кнопки мыши. В результате на экране
Использование свойств слоев
Использование свойств слоев
Имеется возможность присваивать свойства как слоям, так и непосредственно объектам рисунка. При построении нового объекта ему автоматически назначаются цвет, тип и вес линии, а также стиль печати ByLayer. Если свойство объекта имеет специальное
Использование окна свойств.
Использование окна свойств.
Окно Properties (Окно свойств) позволяет просмотреть и. если нужно, изменить свойства любого объекта (проекта, модуля, формы или элемента управления), который в окне редактора Visual Basic в данный момент активен. Если взглянуть на рис. 5.17, то можно увидеть,
Изменение установок свойств
Изменение установок свойств
В зависимости от свойства, установки свойств можно менять одним из следующих трех способов:* просто печатая новое значение;* выбирая новое значение из раскрывающегося списка;* выбирая новое значение в диалоговом окне.Некоторые свойства
Использование стандартных свойств элемента управления
Использование стандартных свойств элемента управления
Многие элементы управления обладают стандартными свойствами, к которым относится свойство Value.В случае текстового поля вы не должны явно указывать, какое свойство используется — Value или Text — для настройки и
Использование свойств Cells для определения диапазона
Использование свойств Cells для определения диапазона
При использовании без координат свойство Cells объекта Worksheets указывает на диапазон, включающий все ячейки данного рабочего листа. По аналогии, свойства Cells объекта Application ( Application. Cells ) ссылаются на все ячейки листа,
Создание процедур свойств
Создание процедур свойств
Секрет наделения объекта свойством состоит в написании пары специальных процедур — процедур свойств Property Let и Property Get. Обе процедуры в паре должны иметь одинаковые имена.Именем свойства будет то, которое вы выберете для процедур Property Let и Property Get.
Палитра свойств
Палитра свойств
Как уже говорилось, объекты чертежа имеют три свойства: цвет, тип и толщину линий. По умолчанию данные свойства присваиваются объекту в зависимости от того, на каком слое он находится. Однако каждому объекту можно назначить и индивидуальные свойства.Чтобы
Использование свойств слоев
Использование свойств слоев
Имеется возможность присваивать свойства как слоям, так и непосредственно объектам рисунка. При построении нового объекта ему автоматически назначаются цвет, тип и вес линии, а также стиль печати ByLayer. Если свойство объекта имеет специальное
Использование свойств слоев
Использование свойств слоев
Имеется возможность присваивать свойства как слоям, так и непосредственно объектам рисунка. При построении нового объекта ему автоматически назначаются цвет, тип и вес линии, а также стиль печати ByLayer. Если свойство объекта имеет специальное
Копирование свойств объектов
Копирование свойств объектов
Команда MATCHPROP предназначена для копирования свойств заданного объекта другому объекту. Она вызывается из падающего меню Modify ? Match Properties или щелчком на пиктограмме Match Properties стандартной панели инструментов.Допускается копировать цвет, слой,
Палитра свойств объектов
Палитра свойств объектов
Палитра свойств объектов PROPERTIES, показанная на рис. 5.15, – это единый инструмент, управляющий практически всеми свойствами объектов рисунка. На палитре собрано около 40 диалоговых окон и команд, которые были разрознены в более ранних версиях AutoCAD.
Палитра свойств
Палитра свойств
Как уже говорилось, объекты чертежа имеют три свойства: цвет, тип и толщина линий. По умолчанию данные свойства присваиваются объекту в зависимости от того, на каком слое он находится. Однако каждому объекту можно назначить и индивидуальные свойства.Чтобы
Защита ячеек от манипуляций |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
|
|
|
Популярные разделы FAQ: Общие вопросы Особенности VBA-кода Оптимизация VBA-кода Полезные ссылки
1. Старайтесь при создании темы указывать в заголовке или теле сообщения название офисного приложения и (желательно при работе с Office 95/97/2000) его версию. Это значительно сократит количество промежуточных вопросов.
2. Формулируйте вопросы как можно конкретнее, вспоминая (хотя бы иногда) о правилах ВЕЛИКОГО И МОГУЧЕГО РУССКОГО ЯЗЫКА, и не забывая, что краткость — сестра таланта.
3. Не забывайте использовать теги [сode=vba] …текст программы… [/code] для выделения текста программы подсветкой!
4. Темы с просьбой выполнить какую-либо работу полностью за автора здесь не обсуждаются и переносятся в раздел ПОМОЩЬ СТУДЕНТАМ.
Защита листа и свойство .Locked
- Подписаться на тему
- Сообщить другу
- Скачать/распечатать тему
|
|
Full Member Рейтинг (т): 18 |
на листе есть 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, а вот оказывается нифига! |
vkodor |
|
Selection.Locked — тут не причем |
Krasnaja Shapka |
|
Full Member Рейтинг (т): 18 |
осознал… спс! |
Krasnaja Shapka |
|
Full Member Рейтинг (т): 18 |
стоп…. а почему тогда
With Range(«ячейка») .Select .Locked = True End With не работает? только
With Range(«ячейка») .Select Selection.Locked = True End With Сообщение отредактировано: Krasnaja Shapka — 29.05.07, 15:24 |
Pavel55 |
|
Junior Рейтинг (т): 12 |
У меня код
Sub Макрос1() With Range(«H6») .Select .Locked = True End With End Sub Прекрасно работает Сообщение отредактировано: Pavel55 — 29.05.07, 16:58 |
Krasnaja Shapka |
|
Full Member Рейтинг (т): 18 |
все… родил… даже select не нужен (vkodor отдавай назад плюсик )… все дело в том что у меня ячейки были объедены… а когда присваиваешь имя объедененной ячейке… реально имя присваивается только левой верхней… например, объеденены «а1» и «а2″… выделяю их, присваиваю имя «ячейка» — имя присваивается только для «а1», а не для «а1:а2»!!!!… в результате я пытаюсь изменить свойство .locked не для всей объедененной ячейки, а только для одной из них!!! вот такая хрень. Сообщение отредактировано: Krasnaja Shapka — 30.05.07, 08:40 |
Old Bat |
|
Moderator Рейтинг (т): 128 |
Цитата Krasnaja Shapka @ 30.05.07, 08:38 у меня ячейки были объедены за что ж ты их.. Цитата В объединенную ячейку Excel помещает только данные верхнего левого угла из выделенного диапазона Данные из других ячеек уничтожаются. в отношении имен работает то же правило |
Krasnaja Shapka |
|
Full Member Рейтинг (т): 18 |
тьфу…. ну я писака «объединены», во! Добавлено 30.05.07, 14:53 |
0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
0 пользователей:
- Предыдущая тема
- VB for Application
- Следующая тема
[ Script execution time: 0,0322 ] [ 16 queries used ] [ Generated: 16.04.23, 22:31 GMT ]
Дарика 12 / 7 / 3 Регистрация: 13.09.2010 Сообщений: 63 |
||||
1 |
||||
12.01.2012, 17:34. Показов 13184. Ответов 15 Метки нет (Все метки)
При попытке защиты ячейки выскакивает ошибка Error 1004 Нельзя установить свойство Locked класса Range. Перепроверила уже все и вся, никак не могу понять причину. Помогите!
0 |
3217 / 966 / 223 Регистрация: 29.05.2010 Сообщений: 2,085 |
|
12.01.2012, 18:08 |
2 |
Изначально все ячейки защищены, но без защиты листа можно вносить изменения в ячейки до установки пароля (может быть и пустой пароль) на лист. Поэтому снятие защиты с листа позволяет изменять ячейки любым образом. Есть ли смысл экспериментировать со свойством Locked.
0 |
12 / 7 / 3 Регистрация: 13.09.2010 Сообщений: 63 |
|
12.01.2012, 18:10 [ТС] |
3 |
Изначально все ячейки защищены, но без защиты листа можно вносить изменения в ячейки до установки пароля (может быть и пустой пароль) на лист. Поэтому снятие защиты с листа позволяет изменять ячейки любым образом. Есть ли смысл экспериментировать со свойством Locked. Мне нужно, чтобы сначала (при первом цикле) определенная ячейка защищалась(т.е. ее нельзя было изменить), а при втором цикле защищался весь лист. Если подскажете, как это сделать, буду безмерно благодарна.
0 |
3217 / 966 / 223 Регистрация: 29.05.2010 Сообщений: 2,085 |
|
12.01.2012, 18:14 |
4 |
Для защиты ячеек необходимо защитить лист.
0 |
12 / 7 / 3 Регистрация: 13.09.2010 Сообщений: 63 |
|
12.01.2012, 18:17 [ТС] |
5 |
Для защиты ячеек необходимо защитить лист. Мне не нужна защита всего листа, мне нужна защита одной ячейки а уже потом листа. То есть это должны быть разные процедуры.
0 |
3217 / 966 / 223 Регистрация: 29.05.2010 Сообщений: 2,085 |
|
12.01.2012, 18:24 |
6 |
Это невозможно.
0 |
12 / 7 / 3 Регистрация: 13.09.2010 Сообщений: 63 |
|
12.01.2012, 18:31 [ТС] |
7 |
Это невозможно. Это абсолютно точно возможно.
0 |
3217 / 966 / 223 Регистрация: 29.05.2010 Сообщений: 2,085 |
|
12.01.2012, 18:46 |
8 |
Одновременно защищенные и незащищенные ячейки могут быть только на защищенном листе!
0 |
1702 / 189 / 19 Регистрация: 20.11.2011 Сообщений: 281 |
|
12.01.2012, 20:04 |
9 |
Это абсолютно точно возможно. Так покажите нам, как защитить ячейку не защищая лист именно инструментом «Защита». Можно без макросов, руками. Так, чтоб ее нельзя было редактировать на незащищенном листе. Думаю, для всех это будет очень познавательно.
0 |
3217 / 966 / 223 Регистрация: 29.05.2010 Сообщений: 2,085 |
|
12.01.2012, 20:21 |
10 |
Если установить на файл флажок » Пометить как окончательный» тогда невозможно редактировать файл и в т.ч. и лист до снятия этого флажка.
0 |
Dragokas 17993 / 7619 / 890 Регистрация: 25.12.2011 Сообщений: 11,352 Записей в блоге: 17 |
||||
12.01.2012, 20:39 |
11 |
|||
В Вашем случае 1004 — это попытка изменения атрибута защиты ячейки или области при неснятой защите листа. Почему? Так, как у Вас в алгоритме неверно проставлены окончания циклов Next. Кроме того, под Next у Вас попадают и некоторые Dimensions. toiai, прав. Но можно действительно сделать разные процедуры. Защита листа предусматривает опции исключений. Таким образом она будет влиять только на одну защищаемую ячейку. Процедура 1. Защита ячейки [A1] Эта процедура делает все вышесказанное при передаче ей параметров Y, X
Также не рекомендую Вам использовать метод Activate (который у Вас тоже попал под цикл), а по возможности и метод Select тоже. Это вызовет мельтешение и замедление работы. Можно обращаться к ячейкам напрямую. Если нужна помощь передайте файл целиком со всеми объектами.
0 |
Дарика 12 / 7 / 3 Регистрация: 13.09.2010 Сообщений: 63 |
||||
13.01.2012, 10:27 [ТС] |
12 |
|||
Так покажите нам, как защитить ячейку не защищая лист именно инструментом «Защита». Можно без макросов, руками. Так, чтоб ее нельзя было редактировать на незащищенном листе. Думаю, для всех это будет очень познавательно.
0 |
1702 / 189 / 19 Регистрация: 20.11.2011 Сообщений: 281 |
|
13.01.2012, 10:31 |
13 |
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True Дарика, что по Вашему делает эта строка? Я просил:
Так, чтоб ее нельзя было редактировать на незащищенном листе.
0 |
12 / 7 / 3 Регистрация: 13.09.2010 Сообщений: 63 |
|
13.01.2012, 10:48 [ТС] |
14 |
Дарика, что по Вашему делает эта строка? Я просил: Блин, нормально тут у вас, спрашиваешь, тебе говорят что это невозможно. Вот я привела пример, код выше. Теперь, я надеюсь, стало окончательно понятно, что я хочу сделать. Вы можете сказать что-то конструктивное по вопросу?
0 |
17993 / 7619 / 890 Регистрация: 25.12.2011 Сообщений: 11,352 Записей в блоге: 17 |
|
13.01.2012, 19:35 |
15 |
Дарика, перечитайте мой пост. Там готовый код. Сложность Вашей программы, связанная с неправильной организацией циклов не позволяет исправить в ней ошибки, пока Вы не выложите Ваш проект полностью файлом и дадите условия задачи в ней. Код, выложенный Вами делает, то что я написал в посте выше, кроме п.0, что вызывает ошибку 1004.
0 |
0 / 0 / 0 Регистрация: 20.07.2013 Сообщений: 6 |
|
01.01.2014, 14:15 |
16 |
В диапазоне есть объединенные ячейки? Если есть — дело, скорее всего в них.
0 |
Александр Медведев Пользователь Сообщений: 245 |
#1 17.11.2015 23:07:56 Добрый вечер. Посоветуйте как оптимизировать (ускорить) выполнение макроса, который ставит, а потом снимает защиту с объединенных ячеек. Сейчас использую как компромис такой вариант (z1, z2, z3, z4, z5 — это имена диапазонов):
В результате получается долго и некрасиво. Прикрепленные файлы
Если не можешь победить беспорядок, то надо возглавить его. |
||
Sanja Пользователь Сообщений: 14838 |
#2 17.11.2015 23:11:47 Не уверен что будет быстрее, но попробуйте
Согласие есть продукт при полном непротивлении сторон. |
||
В том то и дело, что диапазон z3 на отдельных листах может быть пустым. Изменено: Александр Медведев — 17.11.2015 23:14:51 Если не можешь победить беспорядок, то надо возглавить его. |
|
Sanja Пользователь Сообщений: 14838 |
Зачем такие сложности? Определяйте необходимые диапазоны в зависимости для какого листа выполняется макрос (активного листа) Согласие есть продукт при полном непротивлении сторон. |
Вообще, этот вариант с включением/выключением защиты ячеек тоже не совсем меня устраивает. Изменено: Александр Медведев — 17.11.2015 23:23:49 Если не можешь победить беспорядок, то надо возглавить его. |
|
Хочу сделать универсальный вариант, где по минимуму необходимо делать руками. Изменено: Александр Медведев — 17.11.2015 23:31:02 Если не можешь победить беспорядок, то надо возглавить его. |
|
JayBhagavan Пользователь Сообщений: 11833 ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64 |
#7 18.11.2015 07:04:59
Что значит пустые? Выходят за пределы UsedRange? Тогда делайте проверку:
<#0> |
||||
Как-то всё непонятно… Всё сложное — не нужно. Всё нужное — просто /М. Т. Калашников/ |
|
Александр Медведев Пользователь Сообщений: 245 |
#9 26.11.2015 21:59:39 Долго не мог ответить и поддержать разговор Спасибо JayBhagavan и Михаил Лебедев за ваши варианты. Михаил Лебедев , в вашем коде для себя интересный момент на заметку взял. По одному месту кода есть вопрос. Разве в имени диапазона разрешается использовать переменные. Я так уже пробовал, но ничего не получилось. Может что не так делал. Ругается на это место:
Пишет, что нельзя установить свойство Locked класса Range. Изменено: Александр Медведев — 26.11.2015 22:00:54 Если не можешь победить беспорядок, то надо возглавить его. |
||
RAN Пользователь Сообщений: 7091 |
Защиту листа снять слабо? Изменено: RAN — 26.11.2015 22:16:25 |
Александр Медведев Пользователь Сообщений: 245 |
#11 26.11.2015 22:18:45 Так нет ее, защиты… Пока упростил до такого варианта. Работает.
Изменено: Александр Медведев — 26.11.2015 22:30:30 Если не можешь победить беспорядок, то надо возглавить его. |
||
The_Prist Пользователь Сообщений: 14182 Профессиональная разработка приложений для MS Office |
#12 26.11.2015 22:31:50
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
||
Но если один диапазон = Nothing, то Union выдает ошибку. Если не можешь победить беспорядок, то надо возглавить его. |
|
The_Prist Пользователь Сообщений: 14182 Профессиональная разработка приложений для MS Office |
#14 26.11.2015 22:59:36
А почему он вдруг Nothing? Если это так — значит логика кода плохо построена. Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
||
Он не вдруг. Он специально. Немного ранее про это написал. Если не можешь победить беспорядок, то надо возглавить его. |
|
The_Prist Пользователь Сообщений: 14182 Профессиональная разработка приложений для MS Office |
#16 26.11.2015 23:12:30 Так сделайте массив и идите по нему. Мало чем от Union будет отличаться.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы… |
||
Александр Медведев Пользователь Сообщений: 245 |
#17 26.11.2015 23:13:21 Он не вдруг. Он специально. Немного ранее про это написал.
меня вполне устроил. Стало быстро практически незаметно. А вот над постом №5 буду думать. Это основной вопрос. Если не можешь победить беспорядок, то надо возглавить его. |
||
Александр Медведев Пользователь Сообщений: 245 |
#18 26.11.2015 23:14:45 Точно, массивом можно! Если не можешь победить беспорядок, то надо возглавить его. |