【问题标题】:Formatting phone numbers - vba [closed]格式化电话号码 - vba [关闭]
【发布时间】:2013-10-01 22:16:26
【问题描述】:

我有大型数据集 - 10 000 条电话号码记录:

Phone_N
5656666666
6676767677
6767677777
5555555555
5555567888
6666777777

我需要将其格式化为:

Phone_N
(565) 666-6666
(222) 767-3333
(676) 777-7777

等等……

我的数据已经没有空格、“-”、“/”或任何其他字符。

只需将其格式化为正确的电话格式即可。

如果您能指出正确的开始方向,那将非常有帮助。

【问题讨论】:

  • 如果您需要有人为您编写代码,请聘请开发人员。抱歉,我们不是免费的编码资源。 <pedantic>另外,Stack Overflow 不是论坛 - 它是一个问答网站。大不同。</pedantic>
  • 如果您阅读How to Ask会非常有帮助
  • 事实上,您并不需要 VBA。您可以通过公式来实现这一点
  • 正确。我可以使用 msaccess 函数来做到这一点。但我考虑过更快的方法......好吧,你回答这个问题非常有帮助。我会自己弄清楚然后J ***** ks。没关系。
  • 别介意用excel轻松完成!!!

标签: vba ms-access excel ms-access-2007


【解决方案1】:

您可以使用 UDF(用户定义函数

将以下代码粘贴到 VBE 的标准模块中(Visual Basic 编辑器ALT+F11 右键单击​​项目资源管理器窗口中的任意位置» 插入 » 模块

格式化后使用 ADO 更新您的表格

Function FORMAT_NUMBERS(r As Range)
    FORMAT_NUMBERS = "(" & Left(r, 3) & ") " & Right(Left(r, 6), 3) & "-" & Right(r, 4)
End Function

例子

【讨论】:

  • 谢谢!我就是这么想的
【解决方案2】:

您可以根据需要使用Format Function 格式化Phone_N。我不确定Phone_N 是文本数据类型还是数字数据类型,但以下Format 示例可以接受。

Phone_N = 2227673333 ' (Phone_N is numeric)
? Format(Phone_N, "(###) ###-####")
(222) 767-3333
Phone_N = "2227673333" ' (Phone_N is text)
? Format(Phone_N, "(###) ###-####")
(222) 767-3333

【讨论】:

    【解决方案3】:

    这可以在 VBA 中完成。您可以使用以下方法来完成此操作。

    Dim rs As DAO.Recordset, TempN As String
    Set rs = CurrentDb.OpenRecordset("SELECT Phone_N FROM MyTableName", dbOpenDynaset)
    
    If (rs.RecordCount <> 0) Then
      rs.MoveFirst
      Do While rs.EOF <> True
        TempN = rs.Fields("[Phone_N]").value
        rs.Edit
        rs.Fields("[Phone_N]").value = "(" & Left(TempN, 3) & ") " & _
                                       Left(Right(TempN, 7), 3) & "-" & _
                                       Right(TempN, 4)
        rs.Update
        rs.MoveNext
      Loop
    End If
    

    【讨论】:

    • 谢谢你,很有趣
    【解决方案4】:

    无需使用 VBA,只需尝试 Notepad++,以 cloumn 模式编辑数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-26
      • 2020-02-05
      • 2010-10-04
      • 2015-10-02
      • 2019-06-07
      相关资源
      最近更新 更多