Как выйти из процедуры при ошибки в функции?
У меня hex цвет переводится в rgb цвет, при недопустимом символе в hex (т.е. если s не цифра и не a..f)
Код
Public Function simvol(s As String) As Integer
If IsNumeric(s) = True Then
simvol = vba.CInt(s)
ElseIf s = "A" Or s = "a" Then
simvol = 10
ElseIf s = "B" Or s = "b" Then
simvol = 11
ElseIf s = "C" Or s = "c" Then
simvol = 12
ElseIf s = "D" Or s = "d" Then
simvol = 13
ElseIf s = "E" Or s = "e" Then
simvol = 14
ElseIf s = "F" Or s = "f" Then
simvol = 15
Else: MsgBox ("недопустимый цвет"): TextBox2 = "": Exit Function
End If
End Function
нужно прервать процедуру
Код
Private Sub CommandButton1_Click()
Dim r, g, b As Integer
TextBox2.Text = ""
If Len(TextBox1) <> 6 Then MsgBox ("недопустимый цвет"): Exit Sub
r = simvol(VBA.Mid(TextBox1, 1, 1)) * 16 + simvol(VBA.Mid(TextBox1, 2, 1))
g = simvol(VBA.Mid(TextBox1, 3, 1)) * 16 + simvol(VBA.Mid(TextBox1, 4, 1))
b = simvol(VBA.Mid(TextBox1, 5, 1)) * 16 + simvol(VBA.Mid(TextBox1, 6, 1))
TextBox2.Text = r & ", " & g & ", " & b
End Sub
Сам понял,, что вместо "Exit Function" нужно поставить "End"