
Иногда появляются ошибки при вводе данных. Наиболее неприятные это случайный ввод букв вместо цыфр, портятся все вычисления, если они есть для данной ячейки. Поэтому считаю актуальным делать для некоторых полей вот такие две проверки:
1. Программа для проверки «Вводятся ли положительные числовые данные?»
Private Sub TextBox1_Change()
If TextBox1.Value < 0 Then
MsgBox "Числа не должны быть отрицательными!", vbOKOnly + vbInformation, "Error"
TextBox1.SetFocus
End If
If Not IsNumeric(TextBox1.Text) And Len(TextBox1) <> 0 Then
MsgBox "Вводить необходимо числовые данные", vbOKOnly + vbInformation, "Error"
TextBox1.Value = ""
TextBox1.SetFocus
End If
End Sub
2. Программа для проверки «Вводятся ли текстовые данные?»
Private Sub TextBox3_Change()
If IsNumeric(TextBox3.Text) And Len(TextBox3) <> 0 Then
MsgBox "Вводить надо текстовые данные!", vbOKOnly + vbInformation, "Error@"
TextBox3.Value = " "
TextBox3.SetFocus
End If
End Sub
Пояснения:
SetFocus – устанавливает фокус на вызвавшем этот метод элементе управления (в данном примере на TextBox). Часто применяется в программах обработки ошибок
IsNumeric – функция проверки типов – является ли переменная числовым значением
Len – возвращает число символов строки