vba - 如何检查Excel电子表格中的单元格是否包含数字

标签 vba excel

我有一列地址,我必须找到那些不包含街道号码的地址。不幸的是,地址是由不同的用户输入的,并且它们不遵循相同的模式,因此街道类型、街道名称、郊区的顺序不同,我无法使用 LEFT、RIGHT 或 MID 等函数来检查特定字符是否是数字。该列如下所示:

    10 Willsons Drive, Manhattan
    Epping, 23 Wet Rd
    Longsdale St, Kingsbury
    11 Link Crt, Pakenham

是否有 Excel 或 VBA 函数可以告诉我单元格/字符串是否包含数字?

最佳答案

将其放入模块中,然后在工作表中,可能是其旁边的一列,放入公式 =HaveNumbers(A2) 并检查您是否想要这样(True/False)。您可以将其更改为“返回字符串”。返回 TRUE/FALSE。

Function HaveNumbers(oRng As Range) As Boolean
     Dim bHaveNumbers As Boolean, i As Long        
     bHaveNumbers = False
     For i = 1 To Len(oRng.Text)
         If IsNumeric(Mid(oRng.Text, i, 1)) Then
             bHaveNumbers = True
             Exit For
         End If
     Next
     HaveNumbers = bHaveNumbers
End Function

关于vba - 如何检查Excel电子表格中的单元格是否包含数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18906581/

相关文章:

vba - Windows 8 升级后,VBA 中的环境 ("USERNAME") 返回 "User"

vba - Excel VBA CDO 邮件

excel - 删除字段中存在重复条目的行

excel - 变量在同一工作表中的字符串公式

vba - 根据 Excel VBA 中的 ComboBox 显示/隐藏 WBS 项目

excel - 即使发生错误处理,Excel错误对话框仍会弹出

文档中链接对象的文件路径的VBA列表

excel - 如何检查当前用户是否已从共享工作簿中删除?

Excel 2010 - 仅在小计单元格中计算唯一值

excel - 我需要一种方法将未知的最后一个单元格与其他单元格连接起来,并使用带有前导零的格式