|
次の手順でテストしてみてください。
1.Alt + F11 で VBE(Visual Basic Editor)を開きます。
2.VBE のメニューから[挿入] -->[標準モジュール] を指定します。
3.コードウィンドウに下記コードをコピーして貼り付けます。
4.Alt + Q (または、右上隅の×)でウィンドウを閉じ、シートに戻ります。
5.メニューから[ツール]-->[マクロ]-->[セキュリティ]で「セキュリティレベル」を
「中」にして[OK]します。
任意シートのセルB1に =NumtoStr(A1) の計算式を入力します。
これで、セルA1にいろいろ入力してみてください。
・数字以外が混じっても、数字のみを有効とし、他は無視します。
・半角/全角 とも機能します。
・数字は、「文字列」も有効とします。 '123 等。
こんな感じで如何でしょうか。
Function NumtoStr(S As Variant) As String
Dim StrRe As String
Dim N As Integer
Dim Num As Integer
Dim W As Variant
If Len(S) = 0 Then
NumtoStr = vbNullString
Exit Function
End If
For N = 1 To Len(S)
If IsNumeric(Mid(S, N, 1)) Then
Num = Val(StrConv(Mid(S, N, 1), vbNarrow))
W = Choose(Num, "あ", "い", "う")
If Not IsNull(W) Then
If InStr(StrRe, W) = 0 Then
StrRe = StrRe & W
Else
StrRe = StrRe & "S"
End If
End If
End If
Next N
NumtoStr = StrRe
End Function
|
|