Excel VBA質問箱 IV

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

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


37668 / 76732 ←次へ | 前へ→

【44226】Re:数字は指定してるひらがなに変更
回答  りん E-MAIL  - 06/11/10(金) 12:29 -

引用なし
パスワード
   イチゴ さん、こんにちわ。

>例えば
>   1=あ 2=い 3=う 重複ならSになる。
>   A1に”1”を入力するばB1に”あ”というひらがなになる。
>   A2に”21”を入力すればB2に”いあ”
>   A3に”22”を入力すればB3に”いS”になる
関数名はTestです。

Function test(a As String) As String
  Dim LL(0 To 9) As String, NN(0 To 9) As Integer
  Dim bb As String, blen As Integer, md As Integer, ss As String
  Dim II As Integer
  '数字に対応して変更する文字列
  LL(0) = "■"
  LL(1) = "あ": LL(2) = "い": LL(3) = "う"
  LL(4) = "え": LL(5) = "お": LL(6) = "か"
  LL(7) = "き": LL(8) = "く": LL(9) = "け"
  '初期文字列
  bb = a
  blen = Len(bb)
  '
  For II = 0 To 9
   Do
     md = InStr(bb, Format(II, "0"))
     If md = 0 Then Exit Do
     '数をカウント
     NN(II) = NN(II) + 1
     '2回目以降はS
     If NN(II) = 1 Then ss = LL(II) Else ss = "S"
     '文字の置き換え
     If md = 1 Then
      bb = ss & Right(bb, blen - 1) '頭
     ElseIf md = blen Then
      bb = Left(bb, blen - 1) & ss '末尾
     Else
      bb = Left(bb, md - 1) & ss & Right(bb, blen - md) '途中
     End If
   Loop
  Next
  '関数の戻り値
  test = bb
End Function

0とか4とか、最初に書いてなかったのに実行時には指定していたりするみたいなので、0から9までを何に変えるかをリストに持ってチェックしています。
1 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 回答

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