電話番号の変換(Microsoft Excel)
私たちは皆、テレビで広告を見てきました:「1-800に電話してください-あなたの超鋭いナイフのセットのためにこれを入手してください。」電話番号をテキストバージョン(広告に表示されている)からそのテキストで表される番号に変換する必要がある場合があります。次のマクロDoPhoneは、変換マジックを実行します:
Sub DoPhone() Dim rngSrc As Range Dim lMax As Long, lCtr As Long Dim J As Integer Dim Phone As String, Digit As String Set rngSrc = ActiveSheet.Range(ActiveWindow.Selection.Address) lMax = rngSrc.Cells.Count For lCtr = 1 To lMax If Not rngSrc.Cells(lCtr).HasFormula Then Phone = rngSrc.Cells(lCtr).Value For J = 1 To Len(Phone) Digit = Ucase(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 rngSrc.Cells(lCtr).Value = Phone End If Next lCtr End Sub
DoPhoneプロシージャは、数式を含まないセルの情報を変換しようとします。変換する1つまたは複数のセルを選択して、プロシージャを実行するだけです。その結果、セル内のテキストは電話で同等の数字に変換されます。したがって、598-TIPSは598-8477になります。
DoPhoneの1つの小さな特徴に注意する必要があり、それを変更することをお勧めします。一部の電話は、文字QとZをそれぞれ数字の7と9として認識します。他の人は単にこれらの数字を省略するか、0に変換します。ここに書かれているように、DoPhoneはこれらの文字を7と9に変換します。必要に応じて、Select Case構造の適切な場所を変更して、それに応じて数字に変更できます。あなたのニーズに。 (適切な場所はリストにコメントされています。)
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(11802)は、Microsoft Excel 2007、2010、2013、および2016に適用されます。
Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります:
link電話番号の変換。