我正在尝试编写一个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
答案 0 :(得分:1)
您好忘记忘记将cleanPhoneNumber
写回工作表?在最终ActiveCell.Value = cleanPhoneNumber
之前,您需要end if
。