エクセルvba カタカナは全角、それ以外は半角に
セルにはカタカナ、数字、漢字、文字がすべて混在しています。
カタカナは全角に、カタカナ以外(数字や記号)は半角に統一しようかと思っています。
一度すべてを半角にし、カタカナだけ全角に戻そうかと考えました。
Sub test()
Dim e As Range
Dim f As Integer
Dim rData As Variant, ansData As Variant
Range("A1:A10").Select
For Each e In Selection
ansData = ""
For f = 1 To Len(e.Value)
rData = StrConv(e.Value, vbNarrow)
If Mid(rData, f, 1) Like "[ア-ン]" Then
ansData = ansData & StrConv(Mid(rData, f, 1), vbWide)
Else
ansData = ansData & Mid(rData, f, 1)
End If
Next f
e.Value = ansData
Next e
End Sub
しかしこれでは、
「ッ」「ァ」など小さい文字や、「ー(長音)」が半角から全角に戻りません。
また、「ズ」など濁音が「ス゛」と2文字になってしまいます。
これらの正しく変換されないものをすべて列挙し、Replaceなどを使って修正するしかないのでしょうか?
実は最初に、すべてを「全角→半角」にするようマクロ作成したのですが、半角にする文字をReplaceですべて列挙しるのは大変だと思い、「半角→全角」にしたらうまくいくかと思ったのですが、それでもうまくいきませんでした・・・
よろしくお願いします。
お礼
ご丁寧な説明をありがとうございます。