我正在向 Excel 中的特定单元格添加 10 位数字。
如果为真,我想运行一个宏。 如果为 false,则为带有文本的消息框。
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
使用
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
此代码用于字母和数字。
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
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