Excel VBA質問箱 IV

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

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


9065 / 13644 ツリー ←次へ | 前へ→

【29483】小書きの変換 ほびっと 05/10/6(木) 9:55 質問[未読]
【29485】Re:小書きの変換 ちくたく 05/10/6(木) 10:59 回答[未読]
【29487】Re:小書きの変換 Jaka 05/10/6(木) 11:05 発言[未読]
【29536】Re:小書きの変換 ほびっと 05/10/7(金) 3:51 お礼[未読]

【29483】小書きの変換
質問  ほびっと  - 05/10/6(木) 9:55 -

引用なし
パスワード
   シート上に小書き文字「ぁぃぅぇぉっ・・・」が含まれる文字列のリストがあり、これを「あいうえおつ・・・」に変換したいのですが。
例:ちょっか→ちよつか
良い方法はあればアドバイスをお願いします。

【29485】Re:小書きの変換
回答  ちくたく  - 05/10/6(木) 10:59 -

引用なし
パスワード
   ほびっと さん

まじめに動作確認をしていませんが。

選択範囲内のsetStrに格納した文字列を、
reStrの文字と置き換えます。

Sub 小文字置換()
  Dim myRE As Object
  Dim setStr As Variant, reStr As Variant
  Dim mySel As Range, myCell As Range
  Dim i As Integer
  
  Set myRE = CreateObject("VBScript.RegExp")
  setStr = Array("ぁ", "ぃ", "ぅ", "ぇ", "ぉ", "っ", "ゃ", "ゅ", "ょ")
  reStr = Array("あ", "い", "う", "え", "お", "つ", "や", "ゆ", "よ")
  myRE.Global = True
  
  Set mySel = Selection
  
  For Each myCell In mySel
    For i = LBound(setStr) To UBound(setStr)
      myRE.Pattern = setStr(i)
      myCell.Value = myRE.Replace(myCell.Value, reStr(i))
    Next i
  Next myCell
End Sub

【29487】Re:小書きの変換
発言  Jaka  - 05/10/6(木) 11:05 -

引用なし
パスワード
   みてね。

http://www.vbalab.net/vbaqa/data/excel/log/tree_325.htm

http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=1462;id=

【29536】Re:小書きの変換
お礼  ほびっと  - 05/10/7(金) 3:51 -

引用なし
パスワード
   ちくたくさん
Jakaさん

回答ありがとうございます。
大変参考になり、勉強になりました。
おかげさまで意図していたものができそうです。
ありがとうございました!

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