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

时间:2011-12-14 14:22:14

标签: excel vba vbscript

我正在尝试编写一个VBA脚本来格式化我存储在excel电子表格中的几个thousdand电话号码列表。到目前为止,我有这个,但是当我运行它时,它不会格式化电话号码。如果单元格为空但它没有格式化任何人看到我做错的数字,它确实会添加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 个答案:

答案 0 :(得分:1)

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