見出し画像

全角・半角変換を行う

 Excel VBA で全角・半角変換を行う方法
 Excel VBA で全角・半角変換を行うには、主に以下の 2 つの方法があります。

  1. StrConv関数を使用する

 StrConv関数は、文字列を指定した形式に変換する関数です。全角・半角変換を行う場合は、以下の引数を使用します。

String: 変換対象の文字列
Conversion: 変換の種類を表す定数。以下の値を使用できます。
vbNarrow: 全角文字を半角文字に変換
vbWide: 半角文字を全角文字に変換
Locale: 変換に使用するロケール。省略可。省略した場合、システムの既定のロケールが使用されます。
 
例:全角文字を半角文字に変換

コード スニペット
Sub Sample_Narrow()

Dim strTarget As String
Dim strResult As String

strTarget = "全角文字列"
strResult = StrConv(strTarget, vbNarrow)

MsgBox strResult

End Sub
コードは注意してご使用ください。

2. Replace関数を使用する

 Replace関数は、文字列中の特定の文字列を別の文字列に置き換える関数です。全角・半角変換を行う場合は、以下の引数を使用します。

Find: 置換対象となる文字列
Replace: 置換後の文字列
Subject: 置換対象となる文字列を含む文字列
Start: 置換対象となる文字列の検索を開始する位置。省略可。省略した場合、1 から検索が開始されます。
 Count: 置換対象となる文字列を最大何回置き換えるか。省略可。省略した場合、すべての置換対象となる文字列が置き換えられます。

例:全角文字を半角文字に変換

コード スニペット
Sub Sample_Replace()

Dim strTarget As String
Dim strResult As String

strTarget = "全角文字列"
strResult = Replace(strTarget, "A", "A") ' 全角の A を半角の A に置き換え
strResult = Replace(strResult, "B", "B") ' 全角の B を半角の B に置き換え
' ... (以下略)

MsgBox strResult

End Sub
コードは注意してご使用ください。

3. その他の方法

 上記以外にも、以下のような方法で全角・半角変換を行うことができます。

Asc関数とChr関数を使用する
コードページを変換する
これらの方法は、より高度なテクニックが必要となりますので、必要に応じて調べてみてください。

参考情報

StrConv関数
https://learn.microsoft.com/en-us/office/vba/language/reference/user-interface-help/strconv-function
Replace関数
https://learn.microsoft.com/en-us/office/vba/language/reference/user-interface-help/replace-function
Asc関数
https://learn.microsoft.com/en-us/office/vba/language/reference/user-interface-help/asc-function
Chr関数
https://learn.microsoft.com/en-us/office/vba/language/reference/user-interface-help/chr-function

この記事が気に入ったらサポートをしてみませんか?