Блокировка ячеек после ввода данных в Excel с использованием VBA - PullRequest
0 голосов
/ 24 февраля 2020

Я пытаюсь заблокировать ячейки, только если данные были введены. Я хочу проверить диапазон, чтобы убедиться, что ячейки пустые до их блокировки. Я получаю сообщение об ошибке: «Невозможно установить свойство Locked класса Range». Лист не защищен и нет объединенных ячеек.

Sub Locking()
'Lock Cells if data has been entered
    Dim rpcell As Range
    Set rpcell = Range("F2:G26")

With ActiveSheet
    .Unprotect Password:="1234"
    .Cells.Locked = False
    For Each rpcell In ActiveSheet.UsedRange
        If rpcell.Value = "" Then
            rpcell.Locked = False
        Else
            rpcell.Locked = True
        End If
    Next rpcell
    .Protect Password:="1234"

End With

End Sub

1 Ответ

1 голос
/ 24 февраля 2020

Вы должны проверить 1 ячейку за раз здесь

Dim rpcell as Range

With ActiveSheet

    .Unprotect Password:= "1234"
    .Cells.Locked = False

    For Each rpcell In .Range("F2:G26")
        rpcell.Locked = (rpcell.Value <> "")
    Next rpcell

    .Protect Password:= "1234"

End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...