همه ما این تبلیغات را در تلویزیون دیده ایم: "برای مجموعه چاقوهای فوق تیز خود با شماره 1-800-GET THIS تماس بگیرید." ممکن است با نیاز به تبدیل شماره تلفن از نسخه متنی (همانطور که در تبلیغات نشان داده شده است) به شماره هایی که توسط آن متن نشان داده شده است، مواجه شوید. ماکرو زیر، DoPhone، جادوی تبدیل را برای شما انجام می دهد:
Sub DoPhone()
Dim c As Range
Dim J As Integer
Dim Phone As String, Digit As String
For Each c In Selection
If Not c.HasFormula Then
Phone = Ucase(c.Value)
For J = 1 To Len(Phone)
Digit = Mid(Phone, J, 1)
Select Case Digit
Case "A" To "P"
Digit = Chr((Asc(Digit) + 1) 3 + 28)
Case "Q"
Digit = "7" May want to change
Case "R" To "Y"
Digit = Chr(Asc(Digit) 3 + 28)
Case "Z"
Digit = "9" May want to change
End Select
Mid(Phone, J, 1) = Digit
Next J
c.Value = Phone
End If
Next c
End Sub
روش DoPhone سعی می کند اطلاعات را در هر سلولی که حاوی فرمول نیست تبدیل کند. تنها کاری که باید انجام دهید این است که سلول (یا سلول هایی) را که می خواهید تبدیل کنید انتخاب کنید و سپس روال را اجرا کنید. نتیجه این است که هر متنی در سلول ها به معادل های رقمی خود در تلفن تبدیل می شود. بنابراین، 598-TIPS تبدیل به 598-8477 می شود.
باید به یک ویژگی کوچک DoPhone توجه کنید و ممکن است بخواهید آن را تغییر دهید. برخی از تلفن ها حروف Q و Z را به ترتیب به عنوان ارقام 7 و 9 تشخیص می دهند. دیگران به سادگی این ارقام را کنار می گذارند، یا به 0 تبدیل می شوند. DoPhone، همانطور که در اینجا نوشته شده است، این حروف را به 7 و 9 تبدیل می کند. به نیازهای شما (مکان های مناسب در لیست نظر داده شده است.)