格式化电话号码ms access
对不起,另一个关于MsAccess的问题。格式化电话号码ms access
我有数据集:
Phone Number
444-514-9864
555-722-2273
333-553- 4535
000-000- 0000
550-322-6888
444-896-5371
322-533-1448
222.449.2931
222.314.5208
222.745.6001
我需要它看起来像(222)896-5371。 如何在Ms Access或MsExcel中执行此操作?
您可以使用Instr ,中,左,右功能来完成这项工作。我做了1个例,与MSDN你应该能够找出休息
Dim OldPhoneNumber As String
Dim NewPhoneNumber As String
Dim PreFix As String
Dim PreFix2 As String
' You can replace this line in Access, just make sure the full phone number is stored in "OldPhoneNumber"
OldPhoneNumber = Worksheets(<worksheet name>).Range(<cell name>).Value
PreFix = Left(OldPhoneNumber, InStr(1, OldPhoneNumber, "-", 1))
PreFix2 = Left(OldPhoneNumber, InStr(1, OldPhoneNumber, "-", 1) - 1)
NewPhoneNumber = Replace(OldPhoneNumber, PreFix, "(" & PreFix2 & ") ")
Debug.Print (NewPhoneNumber)
看到,因为并非所有的电话号码的格式相同的方式,你将不得不作出一个不同的规则为每一个不同格式的手机号(需要1来检查“ - ”“”和一个检查您可能还需要筛选出空间
在访问您设置的 “输入掩码” 来:“(” 000 “) ”000“ - ” 0000; 1; _
所有引用http://office.microsoft.com/en-ca/access-help/input-mask-syntax-and-examples-HP005187550.aspx
不幸的是,它不起作用。即使在应用蒙版之后,+1.444.854.5100尚未更改为(444)854-5100我的字段已经有电话号码。蒙版仅适用于新输入 –
也许创建一个[宏](http://office.microsoft.com/en-ca/access-help/create-a-macro-HA010030811.aspx) – MasterT
输入掩码将只对新数据的工作,你将需要创建一个宏或函数来更新您现有的数据以符合您所需的格式
你愿意为此使用VBA吗?有一种简单的方法可以在vba – Gutanoth
中做到这一点,如果它可能在vba中做到这一点,并比使用Replace函数更容易....请解释我该如何做。谢谢! –
嗯,我确实使用了替换函数(请参阅我的答案),但是也可以筛选出2个不同字符串变量(前缀和后缀)中的前3个数字和最后7个字符,然后最后执行下列操作:'Newphonenumber =“(”&前缀&“)”&后缀 – Gutanoth