

VBA基础
Access获取字符串中的数字的几个函数
2013-07-16 14:41:15
下面几个函数是在字符串中关于数字类型的判断的。我们可以通过立刻窗口测试它的作用
ctrl+G能快速调出窗口,在下面输入 ?函数名(参数)即可。如?numberpos("jfidj43sf343")
Public Function IsNumbersOnly(chkStr As String) As Boolean
'检测字符串是否全部由数字组成
Dim i As Long
Const AllNumbers = "0123456789"
IsNumbersOnly = True
For i = 1 To Len(chkStr)
If InStr(AllNumbers, Mid(chkStr, i, 1)) = 0 Then
IsNumbersOnly = False
Exit Function
End If
Next i
End Function
Public Function NumberPos(chkStr As String) As Long
'检测字符串中第一个数字的位置
'函数值为0时,表示字符串中不包含数字
Dim i As Long
For i = 1 To Len(chkStr)
If Mid(chkStr, i, 1) Like "[0-9]" Then
NumberPos = i
Exit Function
End If
Next i
End Function
Public Function NoNumbers(chkStr As String) As Boolean
' 检测字符串中是否不含数字
Dim i As Long
NoNumbers = True
For i = 1 To Len(chkStr)
If Mid(chkStr, i, 1) Like "[0-9]" Then
NoNumbers = False
Exit Function
End If
Next i
End Function
Public Function CutStr(chkStr As String) As String
'截取字符串中第一个数字前的字符
Dim i As Long
For i = 1 To Len(chkStr)
If Mid(chkStr, i, 1) Like "[0-9]" Then
CutStr = Left(chkStr, i - 1)
Exit Function
End If
Next i
CutStr = chkStr
End Function
同时,大家也可以根据自己的需要修改下面的函数