全角ひらがな・カタカナを半角カタカナに変換する方法 VBAを使った変換処理 | EXCELトピックス

スポンサーリンク
スポンサーリンク

Excelで全角ひらがな・カタカナを半角カタカナに変換する方法(関数・VBA)

Excelでデータを統一する際、全角ひらがな(あいうえお)や全角カタカナ(アイウエオ)を半角カタカナ(アイウエオ)に変換したい場合があります。特に、データ入力のフォーマットを統一したり、システム連携時に半角カタカナが求められる場合に役立ちます。

本記事では、ExcelのVBAを活用して、ひらがな・カタカナを半角カタカナに変換する方法を解説します。

VBAを使って全角ひらがな・カタカナを半角カタカナに変換する方法

VBAを使えば、Excel上で全角ひらがな・カタカナを半角カタカナに変換することが可能です。

セル範囲を選択して変換するVBAコード

事前に変換したいセル範囲をマウスで選択し、VBAマクロを実行すると、その範囲内の全角ひらがな・カタカナが半角カタカナに変換されます。

Sub ConvertSelectedToHalfWidthKatakana()
    Dim cell As Range
    
    ' 選択したセル範囲を処理
    For Each cell In Selection
        If Not IsEmpty(cell.Value) Then
            ' 全角ひらがなを全角カタカナに変換 → 半角カタカナに変換
            cell.Value = StrConv(StrConv(cell.Value, vbKatakana), vbNarrow)
        End If
    Next cell
    
    MsgBox "選択した範囲の全角ひらがな・カタカナを半角カタカナに変換しました。", vbInformation
End Sub

VBAのコード解説

  • Selection → ユーザーがマウスで選択した範囲を取得
  • StrConv(cell.Value, vbKatakana) → 全角ひらがなを全角カタカナに変換
  • StrConv(..., vbNarrow) → 全角カタカナを半角カタカナに変換
  • IsEmpty(cell.Value) → 空白セルは処理しない

使用方法

  1. 変換したいセル範囲をマウスで選択する
  2. VBAマクロを実行(「開発」タブ →「マクロ」 →「ConvertSelectedToHalfWidthKatakana」)
  3. 選択した範囲の全角ひらがな・カタカナが半角カタカナに変換される

実際の変換例

A B
1 ひらがな (変換後)ヒラガナ
2 カタカナ (変換後)カタカナ
3 コンピュータ (変換後)コンピュータ

ユーザー定義関数(UDF)として利用するVBA

関数として利用したい場合は、以下のコードをVBAに登録します。

Function ToHalfWidthKatakana(str As String) As String
    ToHalfWidthKatakana = StrConv(StrConv(str, vbKatakana), vbNarrow)
End Function

使用例

Excelのセルに次の数式を入力すると、ひらがな・カタカナが半角カタカナに変換されます。

=ToHalfWidthKatakana(A1)

まとめ

Excelで全角ひらがな・カタカナを半角カタカナに変換するには、以下の方法が有効です。

  • セル範囲を選択して一括変換 → VBAマクロ(ConvertSelectedToHalfWidthKatakana())を実行
  • 関数として利用 → ユーザー定義関数(=ToHalfWidthKatakana(A1)

これらの方法を活用すれば、Excelのデータを統一し、より扱いやすくすることができます。