Excel Userform - проверьте, если ячейка пуста - PullRequest
0 голосов
/ 15 апреля 2020

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

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

вот код, начинающийся после того, как я объявил переменную (BtwCells) из входных данных текстового поля пользовательской формы:

If IsEmpty(BtwCells.Value) = False Then

MsgBox ("Error - overlapping reservations")

End If

BtwCells.Interior.ColorIndex = 6
BtwCells.Value = Application.username & "/" & Me.TBNotes.Value
End Sub

1 Ответ

0 голосов
/ 22 апреля 2020

На основании вашего кода как есть - с вашим оператором If...Then есть логическая ошибка.

Оператор выполнен и отображает ли ваш MsgBox код или нет , код будет продолжать:

BtwCells.Interior.ColorIndex = 6
BtwCells.Value = Application.username & "/" & Me.TBNotes.Value

Вам необходимо указать код в блоке If...Then для Exit Sub, который прервет код и предотвратит выполнение чего-либо ниже этой строки.

If IsEmpty(BtwCells.Value) = False Then

    MsgBox ("Error - overlapping reservations")
    Exit Sub  'This will abort the code below this line from executing.

End If

BtwCells.Interior.ColorIndex = 6
BtwCells.Value = Application.username & "/" & Me.TBNotes.Value
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...