excel VBA命令检查单元格是否填写了10位数字

u0sqgete  于 2023-08-08  发布在  其他
关注(0)|答案(3)|浏览(114)

请帮助我的VBA代码
我添加10位数字到Excel中的特定单元格
如果为true,我想运行一个宏如果为false,一个带有文本的msgbox

Sub Run_PNR()

If Cells(E, 7).Value = 0 Then
MsgBox ("Enter Correct PNR Number")
Else
Shell "explorer.exe " & Range("d25").Text
End If
End Sub

字符串

gopyfrb3

gopyfrb31#

使用Val函数将单元格内容转换为数字并检查其值:

Dim cellVal as Long
cellVal = Val(ActiveSheet.Cells(7, "E").Value)
If cellVal < 1000000000 Or cellVal > 9999999999 Then
    MsgBox ("Enter Correct PNR Number")
Else
    (do whatever needs to be done...)
End If

字符串

yshpjwxd

yshpjwxd2#

这是字母和数字的代码。

Sub Run_PNR()
    If Len(Range("E7").value) <> 10 Then
    MsgBox ("Enter Correct PNR Number")
    Else
    Shell "explorer.exe " & Range("d25").Text
    End If
    End Sub

字符串
此代码仅用于数字。

If IsNumeric(ActiveSheet.Range("E7").value) Then
If Len(ActiveSheet.Range("E7").value) <> 10 Then
MsgBox ("Enter Correct PNR Number")
Else
Shell "explorer.exe " & Range("d25").Text
End If
Else
MsgBox ("Enter Number only")
End If
End Sub

0lvr5msh

0lvr5msh3#

RegExp是验证10位数字的选项。

Sub Run_PNR()
    With CreateObject("vbscript.regexp")
        .IgnoreCase = True
        .Global = True
        .Pattern = "\d{10}"
        If .Test(Trim(Cells(7, "E").Value)) Then
            Shell "explorer.exe " & Range("d25").Text
        Else
            MsgBox ("Enter Correct PNR Number")
        End If
    End With
End Sub

字符串

相关问题