Как наглухо заблокировать Excel-ячейку?
Примечание : Совет предназначен для MS Excel XP (и старше), в более ранних версиях, для подобных целей, как правило используют макросы.
Спасибо. :)
Через событие SelectionChange, конечно. Не знаю, какой ты второй имел в виду. Я-то имел в виду "нельзя" средствами встроенной защиты ячеек.
Конечно нет, ибо вышеопубликованный мною способ прекрасно работает и в более ранних версиях (MS Excel 97, 2000) Единственное отличие заключается в том, что в этих версиях, значение свойства EnableSelection = xlUnlockedCells придётся устанавливать вручную в редакторе VBA (см. скриншот) Причём, каждый раз после открытия рабочей книги, ибо оно сохраняется только в течении работы с открытой книгой. Естественно, что такой расклад дел мало кого устраивает, поэтому, изменение значение свойства EnableSelection, как правило происходит программно (например, при открытии книги) Именно об этом я и говорил, когда упоминал макросы.
А второй способ заключается в использовании свойства DataEntryMode об'екта Application, которое считается морально устаревшим и в MS Excel 97 было "заменено" на вышеупомянутое EnableSelection. Этот способ действительно имеет ряд недостатков, поэтому, может быть интересен, скорее как раритет.
Кстати, запрет выделения можно обмануть - если написать адрес защищённой ячейки в поле адреса в строке формул.