我正在使用一个函数,它允许我检查一串文本是否由字母组成。它存放在一个名为“General”的模块中。这个通用模块只存在于公共函数和变量的存储。以下是函数代码:
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
接下来我有两个“if”例程,评估用户窗体中文本框的前2个字符。第一个例程询问第一个字符是否为数字,第二个例程询问第二个字符是否为字母。目前,当IsAlpha测试为True时,第二个“if”例程会将我弹出子例程,而不是生成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