Как Запретить Изменение Ячеек Vba Excel • Разблокировка диапазона

Как получить старое значение измененной ячейки в Excel VBA?

Я обнаруживаю изменения в значениях определенных ячеек в электронной таблице Excel, как это.

Предполагая, что это не так уж плохо, способ кодирования этого, как мне получить значение ячейки перед изменением?

ОТВЕТЫ

Ответ 1

Ответ 2

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

Ответ 3

У меня есть альтернативное решение для вас. Вы можете создать скрытый рабочий лист для сохранения старых значений для интересующего вас диапазона.

Ответ 4

Ответ 5

Ответ 6

Ответ 7

попробуйте это, он не будет работать для первого выбора, тогда он будет работать хорошо:)

Ответ 8

Мне нужно было зафиксировать и сравнить старые значения с новыми значениями, введенными в сложную таблицу планирования. Мне нужно общее решение, которое работало даже тогда, когда пользователь менял много строк одновременно. Решение реализовало CLASS и COLLECTION этого класса.

Есть три листа, в которых я отслеживаю ячейки. Каждый лист получает свою собственную коллекцию в качестве глобальной переменной в модуле ProjectPlan следующим образом:

Инициативные словари SUB вызывается из рабочего листа .open для создания коллекций.

Для управления каждой коллекцией объектов oldValue используются три модуля: Add, Exists и Value.

Тяжелый подъем выполняется в обратном вызове Worksheet_SelectionChange. Один из четырех показан ниже. Единственное отличие — это коллекция, используемая при вызовах ADD и EXIST.

Вызывается вызов «VALUE» из кода, выполняемого из обратного вызова Worksheet_Change. Мне нужно назначить правильную коллекцию на основе имени листа:

а затем я могу вычислить сравнение некоторого текущего значения с исходным значением.

Ответ 9

Сначала посмотрим, как определить и сохранить значение одной ячейки, представляющей интерес. Предположим, что Worksheets(1).Range(«B1») — ваша ячейка, представляющая интерес. В обычном модуле используйте это:

Это приведет к изменению параметра Worksheets(1).Range(«B1») , будет ли изменение связано с тем, что пользователь активно выбирает эту ячейку на листе и меняет значение или из-за других кодов VBA, которые изменяют значение Worksheets(1).Range(«B1») .

Поскольку мы объявили переменную StorageArray общедоступной, вы можете ссылаться на ее последнее значение в других модулях в одном проекте VBA.

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

Приложение: Дополнительную информацию о времени жизни переменных см. В разделе https://msdn.microsoft.com/en-us/library/office/gg278427.aspx

Ответ 10

В ответ на ответ Мэтта Роя я нашел этот вариант отличным ответом, хотя я не мог опубликовать его с моим текущим рейтингом.: (

Однако, пользуясь возможностью публиковать свои мысли о его ответе, я подумал, что воспользуюсь возможностью, чтобы включить небольшую модификацию. Просто сравните код, чтобы увидеть.

Так спасибо Мэтту Рою за то, что он привлек этот код к нашему вниманию, и Chris.R для публикации исходного кода.

Ответ 11

У меня та же проблема, что и у вас, и, к счастью, я прочитал решение по этой ссылке: http://access-excel.tips/value-before-worksheet-change/

Примечание: вы должны поместить переменную oldValue в качестве глобальной переменной, чтобы все подклассы могли ее использовать.

Ответ 12

Мне понадобилась эта функция, и мне не нравились все вышеприведенные решения после большинства попыток, поскольку они либо

  • Медленный
  • Имеют сложные последствия, например, применение application.undo.
  • Не снимать, если они не были выбраны.
  • Не фиксирует значения, если они не были изменены до
  • Слишком сложно

Ну, я очень об этом думал, и я закончил решение для полной истории UNDO, REDO.

Чтобы записать старое значение, на самом деле это очень просто и очень быстро.

Мое решение состоит в том, чтобы захватить все значения, как только пользователь откроет лист, откроется в переменную и будет обновляться после каждого изменения. эта переменная будет использоваться для проверки старого значения ячейки. В решениях, прежде всего, они используются для цикла. На самом деле есть более простой способ.

Чтобы записать все значения, я использовал эту простую команду

Да, просто это, На самом деле excel вернет массив, если диапазон — это несколько ячеек, поэтому нам не нужно использовать команду FOR EACH, и это очень быстро

теперь, чтобы получить старое значение, это очень просто, так как массив имеет одинаковый адрес ячеек

если мы хотим использовать ячейку D12, мы можем использовать следующие

это фрагмент, объясняющий метод, я надеюсь, что всем это нравится

Ответ 13

Ответ 14

Использование Static решит вашу проблему (с некоторыми другими элементами для правильной инициализации old_value :

В коде книги введите команду Worksheet_change , чтобы заполнить old_value :

Обратите внимание, однако, что ЛЮБОЕ решение, основанное на переменных VBA (включая словарь и другие более сложные методы), будет терпеть неудачу, если вы остановите (Reset) запущенный код (например, при создании новых макросов, отладке какого-то кода. ). Чтобы этого избежать, рассмотрите альтернативные методы хранения (например, скрытый рабочий лист).

Ответ 15

Я прочитал этот старый пост и хотел бы предложить другое решение.

Проблема с запуском Application.Undo заключается в том, что Woksheet_Change запускается снова. У нас та же проблема, когда мы восстанавливаем.

Чтобы избежать этого, я использую фрагмент кода, чтобы избежать повторных шагов через Worksheet_Change.

Прежде чем мы начнем, мы должны создать логическую статическую переменную BlnAlreadyBeenHere, чтобы запретить Excel запускать Worksheet_Change снова

Преимущество этого метода в том, что нет необходимости запускать Worksheet_SelectionChange.

Если мы хотим, чтобы подпрограмма работала из другого модуля, нам просто нужно вынуть объявление переменной blnAlreadyBeenHere из подпрограммы и объявить ее с помощью Dim.

Та же операция с vOldValue и vNewValue в заголовке модуля

Ответ 16

Просто мысль, но вы пробовали использовать application.undo

Это снова вернет значения. Затем вы можете просто прочитать исходное значение. Сначала не следует сохранять новые значения, поэтому вы можете изменить их обратно, если хотите.

Знайка, самый умный эксперт в Цветочном городе
Мнение эксперта
Знайка, самый умный эксперт в Цветочном городе
Если у вас есть вопросы, задавайте их мне!
Задать вопрос эксперту
Но при этом, изменять нельзя будет только те ячейки, где мы установили галочки в соответствующем пункте, а те, в которых галочки были сняты, останутся редактируемыми. Если же вы хотите что-то уточнить, я с радостью помогу!
Теперь те диапазоны, которые мы ранее выделили и в настройках форматирования установили их защиту, будут недоступны для редактирования. В остальных областях можно производить любые действия и сохранять результаты.
Скриншот 4

Как запретить изменение ячеек в excel

  1. Снимаем и устанавливаем флажки около параметра «Защищаемая ячейка» в окне формата соответствующих диапазонов точно так же, как мы это делали в предыдущем способе.
  2. Переходим во вкладку «Рецензирование». Кликаем по кнопке «Защитить лист». Эта кнопка расположена в блоке инструментов «Изменения».
  3. После этого открывается точно такое же окно настроек защиты листа, как и в первом варианте. Все дальнейшие действия полностью аналогичные.

Как видим, несмотря на то, что в программе Эксель не имеется интуитивно понятного инструмента для защиты конкретной ячейки, а не всего листа или книги, данную процедуру можно выполнить путем некоторых дополнительных манипуляций через изменение форматирования.

Как запретить изменение ячеек в excel

Как Запретить Изменение Ячеек Vba Excel • Разблокировка диапазона

Доброго времени!

В офисной работе часто возникает необходимость создать какой-нибудь общий документ Excel, в который бы вносили изменения сразу несколько человек (расшарив его в сети).

Разумеется, среди пользователей не все хорошо разбираются с ПК — и есть большая вероятность того, что своими не аккуратными действиями могут испортить документ. 😠

Хорошим решением подобной загвоздки может стать защита определенных ячеек от редактирования — т.е. позволить пользователям изменять документ только в разрешенном месте!

Защищаем ячейки в Excel

Для того, чтобы в Excel защитить ячейки от редактирования и изменения — необходимо прибегнуть к инструменту защиты всего листа . Однако, по умолчанию, в этом случае Excel блокирует все ячейки, что нас не очень устраивает.

Поэтому, сначала необходимо выделить те ячейки (строки/столбцы), которые мы хотим разрешить редактировать, после нажать по ним правой кнопкой мышки и кликнуть по меню «Формат ячеек» . См. пример ниже.

Как Запретить Изменение Ячеек Vba Excel • Разблокировка диапазона

Далее в меню «Защита» нужно снять галочку рядом с пунктом «Защищаемая ячейка». Нажать OK.

Как Запретить Изменение Ячеек Vba Excel • Разблокировка диапазона

После перейти в меню «Рецензирование» и активировать инструмент «Защитить лист» . Меню Excel приведено на скрине ниже.

Далее укажите пароль и отметьте галочками, что пользователи могут делать с листом (можно оставить все по умолчанию).

Как Запретить Изменение Ячеек Vba Excel • Разблокировка диапазона

В заранее отмеченных нами ячейках (в шаге 1), в которых мы сняли защиту — можно вводить любые числа и значения, в других же — Excel блокирует ввод и просит снять защиту с листа. Удобно?!

Как Запретить Изменение Ячеек Vba Excel • Разблокировка диапазона

Дополнительно Excel позволят сделать так, что ввести в ячейку можно будет только определенное значение. Например, число от 1 до 100! (дополнительная защита от «дурака»).

Сначала нужно выделить строку/столбец (или просто ячейки), перейти в меню «Данные» и кликнуть по инструменту «Проверка данных» (как он выглядит — показано на скриншоте ниже).

Как Запретить Изменение Ячеек Vba Excel • Разблокировка диапазона

Далее в параметрах задаете тип значения, минимум и максимум, и вписываете подсказку. Пример ниже.

После этого, когда поставите курсор в «нашу ячейку» Excel сразу же подскажет, что ввести можно от 1 до 100 (а если кто-то введет что-то отличное — выскочит ошибка 👇).

Как Запретить Изменение Ячеек Vba Excel • Разблокировка диапазона

Примечание : разумеется, вместо моего диапазона чисел — можно указать любые другие, или вообще разрешить вводить нечто иное.

В общем-то, достаточно полезный инструмент, когда хочешь разрешить работать с документом пользователям с разным уровнем подготовки.

Включение блокирования ячеек

В Экселе не существует специального инструмента, предназначенного для блокировки отдельных ячеек, но данную процедуру можно осуществить с помощью защиты всего листа.

Способ 1: включение блокировки через вкладку «Файл»

Для того, чтобы защитить ячейку или диапазон нужно произвести действия, которые описаны ниже.

  1. Выделите весь лист, кликнув по прямоугольнику, который находится на пересечении панелей координат Excel. Кликните правой кнопкой мыши. В появившемся контекстном меню перейдите по пункту «Формат ячеек…».

Откроется окно изменения формата ячеек. Перейдите во вкладку «Защита». Снимите галочку около параметра «Защищаемая ячейка». Нажмите на кнопку «OK».

Выделите диапазон, который желаете заблокировать. Опять перейдите в окно «Формат ячеек…».

Но, дело в том, что после этого диапазон ещё не стал защищенным. Он станет таковым только тогда, когда мы включим защиту листа. Но при этом, изменять нельзя будет только те ячейки, где мы установили галочки в соответствующем пункте, а те, в которых галочки были сняты, останутся редактируемыми.
Переходим во вкладку «Файл».

В разделе «Сведения» кликаем по кнопке «Защитить книгу». В появившемся списке выбираем пункт «Защитить текущий лист».

Теперь те диапазоны, которые мы ранее выделили и в настройках форматирования установили их защиту, будут недоступны для редактирования. В остальных областях можно производить любые действия и сохранять результаты.

Способ 2: включение блокировки через вкладку «Рецензирование»

Существует ещё один способ заблокировать диапазон от нежелательного изменения. Впрочем, этот вариант отличается от предыдущего способа только тем, что выполняется через другую вкладку.

  1. Снимаем и устанавливаем флажки около параметра «Защищаемая ячейка» в окне формата соответствующих диапазонов точно так же, как мы это делали в предыдущем способе.
  2. Переходим во вкладку «Рецензирование». Кликаем по кнопке «Защитить лист». Эта кнопка расположена в блоке инструментов «Изменения».

Разблокировка диапазона

При нажатии на любую область заблокированного диапазона или при попытке изменить её содержимое будет появляться сообщение, в котором говорится о том, что ячейка защищена от изменений. Если вы знаете пароль и осознано хотите отредактировать данные, то для снятия блокировки вам нужно будет проделать некоторые действия.

На ленте в группе инструментов «Изменения» кликаем по кнопке «Снять защиту с листа».

После этих действий защита со всех ячеек будет снята.

Как видим, несмотря на то, что в программе Эксель не имеется интуитивно понятного инструмента для защиты конкретной ячейки, а не всего листа или книги, данную процедуру можно выполнить путем некоторых дополнительных манипуляций через изменение форматирования.

Отблагодарите автора, поделитесь статьей в социальных сетях.

В этой статье я расскажу как защитить ячейки в Excel от изменений и редактирования. Защита ячеек может заключаться в том, что пользователи, открывшие ваш файл не смогут редактировать значения ячеек, а также видеть формулы.

Прежде чем, мы разберемся как настроить защиту, важно понять принцип работы защиты ячеек в Excel. По-умолчанию, все ячейки в Excel уже заблокированы, но фактически доступ к ним будет ограничен после того, как вы в настройках защиты листа введете пароль и условия по ограничению доступа.

Как защитить все ячейки в файле Excel

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

Как Запретить Изменение Ячеек Vba Excel • Разблокировка диапазона

Как Запретить Изменение Ячеек Vba Excel • Разблокировка диапазона

Как Запретить Изменение Ячеек Vba Excel • Разблокировка диапазона

Как Запретить Изменение Ячеек Vba Excel • Разблокировка диапазона

Как Запретить Изменение Ячеек Vba Excel • Разблокировка диапазона

Если вы установили пароль, то система попросит вас повторно ввести его.

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

Как Запретить Изменение Ячеек Vba Excel • Разблокировка диапазона

Для того чтобы снять установленную защиту, перейдите во вкладку “ Рецензирование “, и в разделе “ Защита ” кликните по иконке “ Снять защиту с листа “. После этого система попросит вас ввести пароль для снятия защиты.

Как защитить отдельные ячейки в Excel от изменений

Чаще всего, вам может не потребоваться защита всего листа целиком, а только отдельных ячеек. Как я писал в начале статьи, все ячейки в Excel по умолчанию заблокированы. Для того чтобы блокировка наступила фактически нужно настроить защиту листа и задать пароль.

Для примера рассмотрим простую таблицу с данными о доходах и расходах. Наша задача защитить от изменений ячейки в диапазоне B1:B3 .

Как Запретить Изменение Ячеек Vba Excel • Разблокировка диапазона

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

Как Запретить Изменение Ячеек Vba Excel • Разблокировка диапазона

Как Запретить Изменение Ячеек Vba Excel • Разблокировка диапазона

Как Запретить Изменение Ячеек Vba Excel • Разблокировка диапазона

Таким образом, мы отключили настройку Excel для ячеек всего листа, при котором все ячейки готовы к защите и блокировке.

  • Теперь, выделим ячейки, которые мы хотим защитить от редактирования (в нашем случае это диапазон ячеек B1:B3 );
  • Снова перейдем на вкладку “ Главная ” на панели инструментов и в подразделе “ Выравнивание ” кликнем по иконке в правом нижнем углу, как мы делали это раннее.
  • Во всплывающем окне, на вкладке “ Защита ” поставим галочку в пункте “ Защищаемая ячейка “:

Как Запретить Изменение Ячеек Vba Excel • Разблокировка диапазона

Как Запретить Изменение Ячеек Vba Excel • Разблокировка диапазона

Как Запретить Изменение Ячеек Vba Excel • Разблокировка диапазона

Как Запретить Изменение Ячеек Vba Excel • Разблокировка диапазона

Как Запретить Изменение Ячеек Vba Excel • Разблокировка диапазона

Как Запретить Изменение Ячеек Vba Excel • Разблокировка диапазона

После этого система попросит нас повторно ввести пароль. Теперь, при попытке редактирования ячеек B1:B3 из нашего примера, будет отображаться сообщение:

Как Запретить Изменение Ячеек Vba Excel • Разблокировка диапазона

Как скрыть формулу заблокированной ячейки

Если ячейки, которые вы защитили от редактирования содержат формулы, вы также можете их скрыть.

Знайка, самый умный эксперт в Цветочном городе
Мнение эксперта
Знайка, самый умный эксперт в Цветочном городе
Если у вас есть вопросы, задавайте их мне!
Задать вопрос эксперту
Начнем мы с самой простой ситуации, когда заранее известна ячейка, на основе которой будет сформировано имя файла, и адрес этой ячейки изменяться не будет. Если же вы хотите что-то уточнить, я с радостью помогу!

Примечание! Для того чтобы открыть редактор Visual Basic в Excel, необходимо перейти на вкладку «Разработчик» и нажать на кнопку «Visual Basic». Файл Excel с кодом процедуры необходимо сохранить с типом «Книга Excel с поддержкой макросов».

Как защитить ячейки в Excel?

  • Медленный
  • Имеют сложные последствия, например, применение application.undo.
  • Не снимать, если они не были выбраны.
  • Не фиксирует значения, если они не были изменены до
  • Слишком сложно

В открывшемся окне «Защита листа» необходимо ввести пароль защиты. Кроме того, в этом же окне можно указать список исключений, т.е. список тех действий, которые Вы разрешаете выполнять всем пользователям в данном документе. Например, выделение ячеек. Ставьте необходимые галочки и жмите ОК.

Как снять защиту с ячейки в excel

Как установить или снять защиту от редактирования ячеек, листов и книги в Excel

  • ограничить права пользователей или групп, установив пароль на определённый перечень (или всю книгу);
  • предохранить элементы от того, чтобы не изменить клетку самостоятельно и не потерять информацию.

Именно так вы можете предотвратить вмешательство в книгу Excel от случайного или намеренного вмешательства того или иного юзера. Это позволит избежать утери данных при сохранении и закрытии документа, а также попытки восстановить значения, что занимает время и не всегда является возможным.

К сожалению, в Excel нет кнопки, которая мгновенно ограничит доступ к той или иной области. Тем не менее всё можно сделать с помощью возможностей программы, не прибегая к другим. Для того чтобы установить подобную защиту от введения неправильных данных или изменения, воспользуйтесь одним из способов:

  1. ограничение на ввод некорректной информации;
  2. предохранение выборочного количества или определённой группы значений от редактирования;
  3. установка различных прав для разных юзеров или групп;
  4. ограничение прав к одному или нескольким страницами книги Excel.

Ограничение от ввода некорректных данных

Настройку можно произвести для различного типа защищаемых данных.

  1. Выделить элементы, на которые будет распространяться функция.
  2. Перейти во вкладку «Данные» в Excel, затем в области «Работа с данными» кликнуть «Проверка данных».
  3. Откроется окно — в «Параметры» укажите тип данных, от введения которых хотите уберечь клетки.
  4. Вы также можете настроить уведомления, которые Excel будет выводить перед редактированием и в случае ввода некорректных данных. Это делается во вкладках «Сообщение для ввода» и «Сообщение об ошибке» соответственно.
  5. Затем необходимо сохранить настройки, нажав «ОК», и они вступят в силу.

Добавляем автоматические уведомления для работы с ячейками.

Ограничение от редактирования

Используя эту функцию, вы можете чётко указать конкретные клетки или группы, которые необходимо уберечь от изменения. Это можно сделать для:

  • Всех элементов рабочей области — нажмите Ctrl + «A»;
  • Конкретных — выберите их вручную, используя Ctrl для добавления ячейки в перечень и Shift для того, чтобы включить в него сразу несколько по горизонтали, вертикали или поперёк;
  • Определённых групп элементов, например, только клетки с формулами, примечаниями или любые другие.
  1. Выделите все элементы — нажмите Ctrl + «A» или кликните на область, где пересекается нумерация строк и столбцов на рамке таблицы (пустая клетка без цифры и буквы).
  2. На выделенной области нажмите правой клавишей мыши, чтобы открыть контекстное меню.
  3. Выберите «Формат ячеек», в окне перейдите в «Защита» и активируйте пункты «Защищаемая ячейка» (установлен по умолчанию, опционально или взамен), «Скрыть формулы».
  4. Кликните «ОК», чтобы применить настройки.
  5. После этого вам необходимо активировать сохранную функцию страницы.

Выделяя всю таблицу либо её часть, ограничиваем доступ.

  1. Выделите элементы, которые предохранять не нужно, кликая по ним, удерживая Shift (для включения в перечень группы) и Ctrl (для включения конкретной, в том числе несмежной ячейки).
  2. На выделенной области нажмите правой клавишей мыши, чтобы открыть контекстное меню.
  3. Выберите «Формат ячеек», в окне перейдите в «Защита» и снимите галочку с «Защищаемая ячейка» — все остальные отмеченные элементы будут ограничены в редактировании при активации предохранения листа.
  4. Кликните «ОК», чтобы применить настройки.
  5. После этого вам необходимо активировать опцию.

Ограничение доступа к определённым группам клеток нужно в том случае, если необходимо ограничить редактирование одной или нескольких групп с конкретными свойствами содержимого:

  1. Укажите элементы, принадлежащие к одной или нескольким группам, которые нужно уберечь. Для этого перейдите по пути «Главная» — «Редактирование» — «Найти и выделить» — «Выделение группы ячеек».
  2. Укажите необходимые опции и нажмите «ОК», чтобы изменения вступили в силу.
  3. После этого вам нужно активировать функцию предохранения.

Пример выбора содержимого с определенными свойствами.

Как установить защиту листа в Excel

  1. Перейти во вкладку «Рецензирование», указать «Защитить лист» — так вы ограничите права ко всем клеткам, которые отмечены галочкой (остальные по-прежнему можно будет изменять).
  2. Вы также можете внести дополнительные настройки перед применением опции, чтобы указать, что именно будет сделано с отмеченными элементами.
  3. Подтвердите активацию ограничения доступа.

Если вы хотите оставить возможность форматирования всех элементов страницы Excel, отметьте только три первых пункта.

Ограничение разных диапазонов для разных пользователей

В случае, если над документом работает несколько человек, и каждому из них должен быть доступен только определённый участок, необходимо:

  1. Перейти во вкладку «Рецензирование», нажать «Разрешить изменение диапазонов».
  2. В новом окне создать область — ввести перечень значений и пароль для доступа к ним.
  3. Сделать требуемое количество произвольных областей и разрешить доступ любому количеству юзеров.
  4. Установить функцию, чтобы изменения вступили в силу.

При утилизации такой системы функций каждый пользователь перед тем, как редактировать определённый участок таблицы, будет вынужден ввести пароль. Если он не знает секретного кода, внести изменения не получится.

Ограничиваем либо предоставляем доступ к диапазонам ячеек.

Ограничение одного или нескольких листов от изменения и форматирования

В большинстве случаев недостаточно ограничить права к клеткам и их группам по функционалу. Целесообразно запретить редактирование всей страницы Excel либо нескольких. Для этого нужно:

С помощью указанной функции вы сможете избежать не только изменения определённых значений, но и редактирования названия, «шапки» (закреплённых строк и столбцов), форматирования и изменения размеров в окне Excel.

Как установить пароль для защиты от редактирования

Ограничения, установленные в документе Excel, может отменить любой пользователь, имеющий права (по умолчанию). Для того, чтобы лишить возможности других юзеров отключать функцию предохранения от редактирования или ввода неверных данных, можно установить пароль. Для этого:

  1. Укажите клетки или листы, к которым хотите ограничить доступ.
  2. Перейдите в «Рецензирование» и кликните «Разрешить изменение диапазонов».
  3. В новом окне создайте диапазон или укажите существующий.
  4. Укажите пароль, сохраните настройки.

После активации функции документ не сможет быть изменён человеком, не знающим кода доступа к файлу. Будьте аккуратнее, так как пароль от Excel восстановить невозможно — он будет утерян со всеми данными.

Как снять защиту

Этот алгоритм подойдёт как для возврата прав ко всему листу, так и некоторым его элементам, если они — единственные заблокированные. Для этого:

  1. Укажите перечень клеток, к которому требуется восстановить доступ (нажмите Ctrl + «A», чтобы выбрать все).
  2. Вызовите окно «Формат ячеек», кликнув правой клавишей мыши по области элементов.
  3. Перейдите в «Защита» и настройте пункты «Скрыть формулы» и «Защищаемая ячейка».
  4. Сохраните изменения.

После использования указанных функций документ Excel снова станет доступен для всех юзеров. Для того чтобы отменить защиту только на части книги, сначала сделайте это для всей, после чего выделите элементы, права к которым следует ограничить вновь.

Простое руководство по снятию защиты с ячеек в Excel

Почему пользователи хотят снять защиту ячеек Excel?

Как снять защиту ячеек в файле Excel?

Способ 1: Удаление защиты ячеек Excel с помощью известного пароля

В Microsoft Excel Вы можете установить пароль, чтобы предотвратить открытие и изменение Ваших документов, книг и презентаций третьими лицами. Однако при желании Вы можете легко снять защиту с определенного ряда ячеек в своем документе и презентации. После установки пароля на файл, любой, кто захочет его открыть, должен будет ввести данный пароль.

Ниже представлена простая инструкция, как удалить защиту с выделенных ячеек в Excel:

1. Выделите ячейку, которую Вы хотите изменить. При выборе дополнительных ячеек зажмите клавишу «Ctrl».

Как снять снять защиту ячейки в Excel

4. Выберите вкладку «Защита», а затем уберите отметку в пункте «Защищаемая ячейка».

5. Согласно информации в диалоговом окне, блокировка ячеек или скрытие формул не имеет никакого эффекта, пока Вы не защитите лист. Вы можете сделать это во вкладке «Рецензирование», выбрав опцию «Защитить лист». Нажмите «ОК».

6. Весь лист теперь будет защищен, за исключением разблокированных Вами ячеек.

защита клеток

Если Вы хотите редактировать защищенный паролем лист, но не помните пароль, попробуйте снять защиту с листа с помощью следующих способов.

Способ 2: Как убрать защиту ячеек Excel с помощью программы Zip

Данный способ работает только для файлов Excel в формате .xlsx. Поэтому, если Ваша книга Excel сохранена в формате .xls, просто откройте ее и сохраните как .xlsx.

1. Измените расширение файла Excel с .xlsx на .zip. Затем нажмите «Да» в появившемся запросе.

снять защиту с листа в Excel

2. Откройте архив ZIP с помощью программы 7-ZIP. Откройте папку xl->worksheets, и Вы увидите файлы sheet1.xml, sheet2.xml, sheet3.xml. Если Вы хотите снять защиту sheet1, выберите файл sheet1.xml. Нажмите на него правой кнопкой мыши, выберите опцию «Редактировать» и откройте с помощью Блокнота.

открыть xml в excel

3. Удалите тэг, начиная со слова «Protection». Затем сохраните и закройте файл sheet1.xml.

удалить тег с excel

4. Обновите измененный файл sheet1.xml в архиве ZIP в появившемся запросе. Затем закройте архив ZIP.

обновить архив после снять защиту excel

5. Измените расширение файла ZIP обратно на .xlsx. Теперь на листе Excel не установлена защита. Откройте его, и Вы сможете редактировать лист без необходимости ввода пароля.

Способ 3: Как удалить защиту ячеек Excel с помощью программы VBA (для версии 2010 и ниже)

1. Откройте Ваш документ Excel и перейдите на защищенный паролем лист.

2. Нажмите сочетание клавиш Alt + F11, чтобы открыть Visual Basic Editor.

3. Правой кнопкой мыши нажмите на имя книги на левой панели (Панель проекта VBA) и выберите «Insert» («Вставить») > «Module» («Модуль»).

защитить лист слияния ячеек

5. Нажмите клавишу F5 или выберите опцию «Run» («Запустить») на панели инструментов, а затем подождите несколько минут.

6. Макрос предоставит взломанный пароль, который не является оригинальной комбинацией (обычно комбинации букв A и B), но, тем не менее, работает. Просто нажмите «ОК», и защита листа будет снята.

Однако помните, что если Ваш файл содержит более одного защищенного листа, Вам придется запускать макрос отдельно для каждого листа.

Чтобы удалить защиту листа Excel без пароля в современных версиях Excel 2013 и Excel 2016, Вы можете сначала сохранить документ как книгу Excel 97-2003 (*.xls), запустить макрос, чтобы удалить защиту, а затем снова сохранить книгу как файл .xlsx. Либо Вы можете использовать один из остальных трех способов, например, программу для восстановления паролей к файлам Excel.

Способ 4: Как снять защиту с ячеек Excel с помощью программы от PassFab

Самый оперативный и эффективный способ — это использование программы PassFab для Excel. Если Вы не можете получить доступ к файлу Excel и хотите открыть его без пароля, можете больше не волноваться, ведь у Вас есть утилита от PassFab. Данная программа для восстановления паролей может легко определить Вашу потерянную комбинацию благодаря мощным режимам атаки на пароль.

Шаг 1. Загрузите данную программу для восстановления паролей к файлам Excel xls/xlsx на Ваш компьютер.

Шаг 2. Откройте программу, и Вы увидите главное меню программы. Нажмите на кнопку «Пожалуйста, импортируйте файл!», чтобы импортировать заблокированный лист Excel, пароль к которому Вы хотите восстановить.

добавить файл excel

Шаг 3. Выберите тип атаки на пароль и задайте соответствующие параметры. Доступны 3 режима атаки: атака по словарю, атака по маске и атака грубой силой.

словарная атака

Step 4. Запустите восстановление потерянного пароля к Вашему файлу Excel. Для этого нажмите «восстановить».

снять защиту ячейки в Excel успешно

Заключение

Как Запретить Изменение Ячеек Vba Excel • Разблокировка диапазона

Обновление в 2024-09-17 / Сообщение от Елина Петрович для Excel Tips / Следить @ Елина Петрович

Как снять защиту с ячейки в excel

Обычно, для того, чтобы защитить таблицы Excel от нежелательного редактирования или же избежать неправильного заполнения, на документ устанавливают пароль. Часто бывает так, что пользователь может забыть пароль от нужного документа или же его части. Давайте рассмотрим все возможные варианты получения доступа к изменению таблиц в Экселе.

Разблокировка всего документа

Известно, что можно установить пароль не только на всю книгу, а и на определённый её лист. В этом случае можно будет изменять введённые данные во все остальные листы книги Excel, кроме того, к которому доступ ограничен. Но просматривать информацию можно будет как на защищённых листах документа, так и на тех, на которых отсутствует защита.

Способ 1: удаление введённого пароля книги

пароль для входа в книгу эксель

Этот способ подействует в том случае, если документ открыт человеком, знающим ключ от него.
Когда заблокирован весь документ, при его открытии получаем следующее окно, в котором нужно вписать пароль:

Допустим, пароль уже вписан другим человеком. Содержимое документа доступно как для чтения, так и для редактирования.

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

вкладка файл

защита книги

стереть пароль

Способ 2: использование стороннего ПО

файл защищён паролем

Разблокировка отдельного листа

Случается так, что пользователь для избежания внесения каких-либо поправок на определённом листе поставил код, но ненароком забыл его. Несомненно, есть выход и из этой ситуации. Эту проблему можно решить с помощью перекодирования файла с таблицами Эксель.

Расширение документа с таблицами, созданных в версиях программы с 2007 года и старше, обычно .XLSX. Поэтому для проведения дальнейших действий следует убедиться в этом на все 100%. Это можно сделать таким образом:

параметры папок и поиска

Убедившись в том, что табличный файл имеет расширение .XLSX, можно смело приступать к процессу перекодирования.

вернуть формат документа эксель

Что же делать, если расширение табличного документа не .XLSX

Книги таблиц, которые были созданы в более ранних версиях Экселя, имеют другое расширение. Поэтому для успешного проведения всех вышеописанных операций без сбоев, требуется просто пересохранить документ в более новом формате.

меню сохранить как

Вот такими несложными способами можно с лёгкость восстановить доступ к редактированию файлов в табличном процессоре MS Office Excel. Надеемся, что наши советы были полезными для вас.

Расскажи друзьям в социальных сетях

комментариев 17

Ни черта подобного. Я пытался снять защиту с листа, следуя инструкции. Защита осталась и до сих пор не могу внести изменения в ячейках.
Программу для открытия формата xml, использовал WordPad.
при повторной попытке открытия документа zip с помощью проводника, выводит сообщение о поврежденном формате.

Извиняюсь за вышеоставленный комент. Я оказывается перепутал лист в книге 🙂

Диман, спасибо, дружище!! Твой алгоритм сработал на 100%
Автору, несомненно, респект!

Знайка, самый умный эксперт в Цветочном городе
Мнение эксперта
Знайка, самый умный эксперт в Цветочном городе
Если у вас есть вопросы, задавайте их мне!
Задать вопрос эксперту
Это позволит избежать утери данных при сохранении и закрытии документа, а также попытки восстановить значения, что занимает время и не всегда является возможным. Если же вы хотите что-то уточнить, я с радостью помогу!
При утилизации такой системы функций каждый пользователь перед тем, как редактировать определённый участок таблицы, будет вынужден ввести пароль. Если он не знает секретного кода, внести изменения не получится.

Как получить старое значение измененной ячейки в Excel VBA? программирование

  1. Выделите весь лист, кликнув по прямоугольнику, который находится на пересечении панелей координат Excel. Кликните правой кнопкой мыши. В появившемся контекстном меню перейдите по пункту «Формат ячеек…».

Пример 5: В ячейке A1 активного листа находится дата 01.03.2018. Для ячейки выбран формат «14 марта 2001 г.». Необходимо прочитать значение ячейки всеми перечисленными выше способами и отобразить в диалоговом окне.

Оставить отзыв

Публикуя свою персональную информацию в открытом доступе на нашем сайте вы, даете согласие на обработку персональных данных и самостоятельно несете ответственность за содержание высказываний, мнений и предоставляемых данных. Мы никак не используем, не продаем и не передаем ваши данные третьим лицам.