【エクセルVBA】全角・半角への変換方法
当ページのリンクには広告が含まれています。
全角と半角の不一致が原因で検索や一致判定に問題が発生することがあります
全角の「A」と半角の「A」は見た目は似ていますが、異なる文字として扱われます
このような問題を防ぐために、全角・半角の変換が必要な場面があります
クリックしてジャンプ
文字列の変換(全角⇔半角)
StrConv
関数は 文字列の大文字・小文字変換、全角・半角変換など、さまざまな形式の変換をサポートします
Dim convertedString As String
convertedString = StrConv("アイウエオ", vbHiragana)
MsgBox "変換後の文字列: '" & convertedString & "'"
変換形式の定数
StrConv
関数は、文字列の形式を変換するためのVBAの標準関数です
全角と半角の相互変換を簡単に行うことができます
StrConv関数:
StrConv(文字列, 変換形式)
定数 | 説明 |
---|---|
vbNarrow | 半角に変換 |
vbWide | 全角に変換 |
文字列が空の場合などのエラー対策
文字列が空の場合などのエラーを防ぐための処理です
Sub SafeConvertCellsToHankaku()
Dim cell As Range
For Each cell In Range("A1:A10")
If Len(cell.Value) > 0 Then
cell.Value = StrConv(cell.Value, vbNarrow)
End If
Next cell
End Sub
Sub SafeConvertCellsToZenkaku()
Dim cell As Range
For Each cell In Range("A1:A10")
If Len(cell.Value) > 0 Then
cell.Value = StrConv(cell.Value, vbWide)
End If
Next cell
End Sub
- 各セルの値が空でない場合にのみ変換を行うようにします。
- これにより、空のセルに対するエラーを防ぎます。
出力結果:
セルA1からA10に「」「123」「あいう」「カキク」が入力されている場合
セルA1からA10: 空, 123, あいう, カキク(全て適切に変換)