| 
    
     |  | 本当に有難うございました。 いろいろ試したけど、
 すごく使いやすかったです。
 でも、40入れたら、0の数値が反応しないです。
 その式の中に数値が変ったけど、やはり、無理でした。
 どこの辺の式変ったら、0の数値を入れたら、反応できるでしょうか?
 又教えてください、お願い致します。
 
 ▼awu さん:
 >次の手順でテストしてみてください。
 >
 >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
 
 |  |