| 文字列の並び替え+置き換え |
| 「電話番号0312345678という電話番号があるとして、まずは8765432130というようにひっくり返して、その次は0をA、1をB、2をCというように、IHGFEDCBDAにしたいのですがどのようにすればいいのでしょうか」という質問が寄せられました。はて、何に活用するのかとも思いますが・・・ 次のような標準モジュールを作成して呼び出せばいけるのではないかと思います。まあ、他に応用できるかもしれませんね。 |
| Public Function okikae(tel As Variant) As
String Dim Stel As String Dim Scha As String Dim moji As Variant Dim Ipo As Long Dim gyakutel As String On Error Resume Next gyakutel = Mid((tel), 11, 1) & Mid((tel), 10, 1) & _ Mid((tel), 9, 1) & Mid((tel), 8, 1) & Mid((tel), 7, 1) & _ Mid((tel), 6, 1) & Mid((tel), 5, 1) & Mid((tel), 4, 1) & _ Mid((tel), 3, 1) & Mid((tel), 2, 1) & Mid((tel), 1, 1) If IsNull(gyakutel) Or tel = "" Then Exit Function moji = Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "Q") For Ipo = 1 To Len(gyakutel) Scha = Mid(gyakutel, Ipo, 1) If IsNumeric(StrConv(Scha, vbNarrow)) Then Stel = Stel & moji(StrConv(Scha, vbNarrow)) Else Stel = Stel & Scha End If Next okikae = Stel End Function |
![]() |