Можно ли защитить / снять защиту с ячейки на основе значения в другой ячейке? - PullRequest
0 голосов
/ 29 октября 2018

Я хочу выполнить следующее с условным форматированием (или другим инструментом в Excel),

Если значение в A1 больше 0, защитите C1. Если значение в A1 меньше или равно 0, снимите защиту c1.

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

1 Ответ

0 голосов
/ 30 октября 2018

Вы можете попробовать использовать решение VBA для этой проблемы.

Чтобы это решение работало, вам нужно отформатировать все ячейки на данном листе как «разблокированные», когда лист «защищен», за исключением ячейки C1, которая должна оставаться заблокированной.

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

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Me.Range("A1").AddressLocal = Target.AddressLocal And _
            Not (Me.Range("A1").Value2 = 0) Then
        Me.Protect
    ElseIf Me.Range("A1").AddressLocal = Target.AddressLocal Then
        Me.Unprotect
    End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...