【エクセル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, あいう, カキク(全て適切に変換)

スポンサーリンク

クリックしてジャンプ