Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


37640 / 76738 ←次へ | 前へ→

【44260】Re:数字は指定してるひらがなに変更
回答  awu  - 06/11/11(土) 1:10 -

引用なし
パスワード
   > ですから、今は0だけが反応しないです。

だから、0 のときは、どうなるのって聞いていたのですが・・・
当初の質問では、例だとしても、1 が "あ" ですから 0 が無いのかと・・・

例えば、0〜9をそれぞれ "あ"〜"こ" の文字に変換とか表現してくれれば・・・

> そして、1212と入れたら、なんか”あいSS”になります
> これになると数値の意味は1222になっているではないでしょうか?

これは、左側に既にある数字のときは、S に変換する と解釈したのです。


ということで、今の仕様は、

書式 : =NumtoStr( 数値 )

使用例 : =NumtoStr(A1) A1 に 001233 が入力されているとき、"ASBCDS" を返します。

ただし、先頭に 0 が付加されていますから、書式が文字列にする必要があります。
書式で設定しても補足した 0 は、無視されます。

戻り値は、引数に指定した数値に対して、0〜9 を A〜J にそれぞれ変換します。
ただし、同じ数字が続く限り、その最初だけを上記の変換をし、あとは、S に変換します。

もし、数字以外が含まれている場合は、その文字だけを無視します。

こんな感じで宜しいのでしょうか。


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))
         '下の " " の中には、0〜9 に対応する文字を設定する 現在 0→"A"
    W = Choose(Num + 1, "A", "B", "C", "D", "E", "F", "G", "H", "I", "J")
    If Not IsNull(W) Then
      If Right(Replace(StrRe, "S", ""), 1) = W Then
        StrRe = StrRe & "S"
      Else
        StrRe = StrRe & W
      End If
    End If
  End If
Next N
NumtoStr = StrRe
End Function

0 hits

【44211】数字は指定してるひらがなに変更 イチゴ 06/11/9(木) 19:48 質問
【44212】Re:数字は指定してるひらがなに変更 ichinose 06/11/9(木) 20:29 発言
【44214】Re:数字は指定してるひらがなに変更 イチゴ 06/11/9(木) 21:06 質問
【44216】Re:数字は指定してるひらがなに変更 ichinose 06/11/9(木) 22:14 発言
【44217】Re:数字は指定してるひらがなに変更 awu 06/11/9(木) 22:53 回答
【44219】Re:数字は指定してるひらがなに変更 イチゴ 06/11/10(金) 9:46 発言
【44254】Re:数字は指定してるひらがなに変更 awu 06/11/10(金) 22:18 発言
【44257】Re:数字は指定してるひらがなに変更 イチゴ 06/11/10(金) 23:11 発言
【44258】Re:数字は指定してるひらがなに変更 06/11/11(土) 0:21 発言
【44260】Re:数字は指定してるひらがなに変更 awu 06/11/11(土) 1:10 回答
【44264】Re:数字は指定してるひらがなに変更 イチゴ 06/11/11(土) 13:44 お礼
【44226】Re:数字は指定してるひらがなに変更 りん 06/11/10(金) 12:29 回答

37640 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free