Я проверяю ввод данных на листе Excel. Когда пользователь вводит неверные данные, отображается MsgBox
, предоставляя возможность Abort/Retry/Ignore.excel vba - msgbox abort/retry/ignore
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If IsNumeric(Range("i17")) Then
If [I17] < 0 Then
result = MsgBox("Critical Error Encountered", vbAbortRetryIgnore + vbCritical, "Error Encountered")
If result = 3 Then
ActiveCell.Value = Empty
End If
End If
End If
End sub
Так как я написал этот код в SelectionChange
, когда я нажимаю войти только тогда он показывает окно сообщения и поскольку я пишу Active.Cell = Empty
он удаляет следующую ячейку, но я имею в виду это, чтобы очистить ячейку, которая содержит неверные данные.
А что такое «ячейка, которая содержит недопустимые данные»? Это 'I17'? Тогда почему вы не очищаете 'I17'? Или это ячейка, которая была изменена * до * 'Worksheet_SelectionChange'? Затем используйте событие «Worksheet_Change (ByVal Target As Range)». Там 'Target' содержит эту ячейку. –