私たちは皆、テレビで広告を見てきました:「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の古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります: