|
皆さん、おはようございます。
以下のコードは、アクティブシートに入力されているセルの文字列の
半角カタカナを全角カタカナに変換するコード例です。
標準モジュールに
'=========================================================
Public Enum kanacnv
kwide = 4
knarrow = 8
End Enum
Dim regEx, Match, Matches
'==================================================
Sub main()
Dim rng As Range
Application.ScreenUpdating = False
Set regEx = CreateObject("VBScript.RegExp")
For Each rng In ActiveSheet.UsedRange
With rng
.Value = kana_cnv(.Value, kwide)
' ↑全角を半角にする場合はkwideをknarrowに変更
End With
Next
Set regEx = Nothing
Application.ScreenUpdating = True
End Sub
'=========================================================
Function kana_cnv(cnv_str, w_or_n As kanacnv)
'指定された文字列のカタカナを全角又は、半角に変換する
'input---cnv_str---変換する文字列
' w_or_n 変換指示 kwide-全角変換 knarrow-半角変換
'output--kana_cnv 変換された文字列
With regEx
If w_or_n = kwide Then
.Pattern = "[。-゚]+"
ElseIf w_or_n = knarrow Then
.Pattern = "[ァ-ヶ]+"
Else
Exit Function
End If
.IgnoreCase = True
.Global = True
Set Matches = .Execute(cnv_str)
kana_cnv = cnv_str
If Matches.Count > 0 Then
For Each Match In Matches
.Pattern = Match.Value
.IgnoreCase = False
kana_cnv = regEx.Replace(kana_cnv, StrConv(Match.Value, w_or_n))
Next
End If
End With
End Function
確認して下さい。
|
|