用于格式化电话号码的 VBA 脚本

Posted

技术标签:

【中文标题】用于格式化电话号码的 VBA 脚本【英文标题】:VBA Script for Formatting Phone Numbers 【发布时间】:2011-12-14 14:22:13 【问题描述】:

我正在尝试编写一个 VBA 脚本来格式化存储在 Excel 电子表格中的数千个电话号码的列表。到目前为止,我有这个,但是当我运行它时,它不会格式化电话号码。如果单元格为空,它会添加值 NULL 但不会格式化数字有人看到我做错了什么吗?

Sub CheckPhoneNumber()
Dim retNumber As String

Range("K3").Activate

Do Until ActiveCell.Row = 3746
If ActiveCell.Value = "" Then
ActiveCell.Value = "NULL"
Else
For i = 1 To Len(ActiveCell.Value)
    If Asc(Mid(ActiveCell.Value, i, 1)) >= Asc("0") And Asc(Mid(ActiveCell.Value, i, 1)) <= Asc("9") Then
        retNumber = retNumber + Mid(ActiveCell.Value, i, 1)
    End If
Next
If Len(retNumber) > 10 Then
    cleanPhoneNumber = Format(retNumber, "(+#) 000-000-0000")
Else
    cleanPhoneNumber = Format(retNumber, "000-000-0000")
End If
End If
ActiveCell.Offset(1, 0).Activate

Loop
End Sub

【问题讨论】:

【参考方案1】:

您好像忘记将cleanPhoneNumber 写回工作表?在最后的 end if 之前,您需要一个 ActiveCell.Value = cleanPhoneNumber

【讨论】:

以上是关于用于格式化电话号码的 VBA 脚本的主要内容,如果未能解决你的问题,请参考以下文章

Android 电话号码格式不适用于键盘和 EditText

jQuery代码段,用于在重新键入号码时将其转换为美国电话号码格式

UITextField电话号码

ruby 用于从Facebook用户数据转储收集电话记录统计信息的Ruby脚本

VBA研究重复邮件号码筛重(文件间)

VBA研究重复邮件号码筛重(文件间)