Я использую функцию, которая позволяет мне просматривать строку текста и оценивать, состоит ли она из букв. Он размещается в модуле под названием «Генерал». Общий модуль существует только для размещения публичных функций и переменных. Код функции приведен ниже:Как проверить, содержит ли строка только буквы?
Public Function IsAlpha(strValue As String) As Boolean
Dim intPos As Integer
For intPos = 1 To Len(strValue)
Select Case Asc(Mid(strValue, intPos, 1))
Case 65 To 90, 97 To 122
IsLetter = True
Case Else
IsLetter = False
Exit For
End Select
Next
End Function
Далее у меня есть два «если» подпрограммы, которые оценивают первые 2 символов текстового поля в моей UserForm. Первая процедура запрашивает, является ли первый символ числовым, а вторая - запрашивает, является ли второй символ альфа. В настоящее время вторая процедура «if» выталкивает меня из подпрограммы, когда IsAlpha проверяет True, а не генерирует MsgBox. Неправильно ли вызывается функция IsAlpha?
Если подпрограммы код, перечисленные ниже:
Private Sub CmdMap_Click()
With TxtDxCode
If IsNumeric(Left(Me.TxtDxCode.Text, 1)) Then
MsgBox "Incorrect DX Code format was entered. ", vbExclamation, "DX Code Entry"
TxtDxCode.Value = ""
TxtDxCode.SetFocus
Exit Sub
End If
If IsAlpha(Left(Me.TxtDxCode.Text, 2)) Then
MsgBox "Incorrect DX Code format was entered. ", vbExclamation, "DX Code Entry"
TxtDxCode.Value = ""
TxtDxCode.SetFocus
Exit Sub
End If
End With
Как должен выглядеть DX-код? –
ваше имя функции «IsAlpha» .. Ваше назначение выхода: «IsLetter» .. это не будет хорошо работать .. – Ditto
@MaciejLos char1 = Альфа char2 = Числовой Дополнительные символы = Альфа + Числовой –