用于格式化电话号码的 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代码段,用于在重新键入号码时将其转换为美国电话号码格式