首页 > 解决方案 > 如何通过excel vba将数字与前导零匹配

问题描述

我在 Excel 工作表列中将 11 位数字的手机号码与前导零存储为“CUSTOM (00000000000)”格式的列。现在我创建了一个用户表单来获取任何手机号码作为用户输入(从 I12 单元格也作为 CUSTOM 00000000000 格式的列)。手机号码存储在“数据库”工作表中,表格在“表格”工作表中。所以我试图在 excel 中通过以下 VBA 代码执行:

Sub mobSearch()
    Dim mobNum As Long
    Dim mobLoc As Long
    Dim rowSerial As Long

    mobNum = Format(Sheets("Form").Range("I12").Value,"00000000000")
    mobLoc = Application.WorksheetFunction.Match(mobNum, Sheets("Database").Range("H:H"), 0)
    rowSerial = Application.WorksheetFunction.IfError _
    (Application.WorksheetFunction.Index(Sheets("Database").Range("A:A"), mobLoc), 0) + 1
    
    On Error GoTo 0
    
    If rowSerial = 0 Then
    
        MsgBox "No record found.", vbOKOnly + vbCritical, "No Record"
        Exit Sub
        
    End If
End Sub

不幸的是,它显示“无记录”,尽管我可以看到手机号码存储在 H 列的数据库工作表中,前导零。

如何解决这个问题?

标签: excelvba

解决方案


推荐阅读