Excel VBA — сделайте диапазон недоступным для выбора

#excel #vba

Вопрос:

Есть ли способ сделать диапазон в файле Excel недоступным для выбора пользователем?
Предположим, я хочу, чтобы ячейка F5 не выбиралась, поэтому я хотел бы, чтобы, если пользователь вводит данные в ячейку F4, а затем нажимает enter, следующей выбранной ячейкой была F6. То же самое, если пользователь использует клавиши со стрелками для перемещения из соседней ячейки, т. е. справа G5 налево, выбранная ячейка будет E5, а не F5.

Комментарии:

1. Безошибочно — нет, потому что VBA можно отключить. Однако, используя Worksheet_SelectionChange подраздел в коде листа, вы можете сделать так, чтобы, если они выберут ячейку в заданном диапазоне, вы могли переместить активную ячейку в другую ячейку.

2. Конечно, вы могли бы просто разблокировать некоторые ячейки, а затем защитить весь лист, не позволяя выбирать заблокированные ячейки

Ответ №1:

 'may you need like that code try to do in ***Worksheet_SelectionChange*** event : Private Sub Worksheet_SelectionChange(ByVal Target As Range)  If ActiveCell.Address = "$F$5" Then ActiveCell.Offset(1, 0).Select End Sub  

это может быть полезно для вас