Excel VBAでひらがなをカタカナに、カタカナをひらがなに変換するコード

Excel VBAを使って、日本語テキストの変換作業を効率的に行えるサンプルアプリを作成しました。この記事では、ひらがなをカタカナに変換するサブルーチンと、逆にカタカナをひらがなに戻すサブルーチンに焦点を当て、その利便性と活用法について詳しく解説します。Excelシート上での操作が簡単でありながら、大きな作業効率向上が期待できるコードを紹介します。このサンプルコードを使うことにより、日本語テキストの変換作業がより効率的になることでしょう。また、以下のようなメリットが享受できます。
1.効率的なテキスト変換
Excel VBAを使用することで、大量の日本語テキストを一括でひらがなからカタカナに変換でき、手作業の労力を軽減できます。これにより、繰り返し行う作業も簡単かつ素早く処理できます。
2.正確性の向上
VBAを活用することで、変換が自動的かつ一貫して行われるため、ヒューマンエラーを低減できます。手動での変換では見落としがちな箇所も、プログラムによって正確に変換できます。
3.柔軟性の提供
VBAコードを自由に編集できるため、必要に応じてカスタマイズや拡張が可能です。ユーザーが独自の要件に合わせてコードを変更できるため、様々なニーズに対応できます。

それでは、作成したコードについて詳しく見ていきましょう。

サンプルアプリの利用方法

Excelシート上に配置された「ひらがなをカタカナに変換」ボタンと「カタカナをひらがなに戻す」ボタンをクリックするだけで、指定したセル範囲のひらがなとカタカナが簡単に変換されます。この直感的なインターフェースにより、どなたでも手軽に利用できます。例えば、大量のテキストデータを扱う場面で、ボタンクリックだけで変換が完了するため、素早く作業を進めることができます。

StrConv関数の重要性

このサンプルアプリでは、文字列の変換においてStrConv関数を使用しています。この関数は、多様なテキスト変換の要件に対応できるため、柔軟性があります。例えば、vbHiraganaを使用することでひらがなに、vbKatakanaを使用することでカタカナに変換できます。このような機能を利用することで、日本語テキストの変換を簡潔かつ効果的に行えます。以下に用途に応じて指定するパラメータの一覧を掲載していますので参考にしてください。
例:セル(i, 3)のひらがなを全角カタカナに変換し、セル(i, 5)に格納するコード
Sh1.Cells(i, 5) = StrConv(Sh1.Cells(i, 3), vbKatakana)

定数内容
vbUpperCase1文字列を大文字に変換します
vbLowerCase2文字列を小文字に変換します
vbProperCase3文字列の各単語の先頭の文字を大文字に変換します
vbWide4文字列内の半角文字を全角文字に変換します
vbNarrow8文字列内の全角文字を半角文字に変換します
vbKatakana16文字列内のひらがなをカタカナに変換します
vbHiragana32文字列内のカタカナをひらがなに変換します
vbUnicode64システムの既定のコードページを使って文字列をUnicodeに変換します
vbFromUnicode128文字列をUnicodeからシステムの既定のコードページに変換します

サンプルアプリのコード   アプリの作成手順はこちら

ひらがなをカタカナに変換するサブルーチン

'明示的な変数宣言を有効にするためのオプション。変数を事前に宣言しないとエラーが発生する。
Option Explicit

'ひらがなをカタカナに変換するためのサブルーチンの開始
Sub ひらがなをカタカナに変換()

   'ループ内で行番号を指定する整数型変数 i を宣言
    Dim i As Integer
   'セル範囲 E5 から H14 までの内容をクリア 
    Range("E5:H14").ClearContents
        
   'Sheet1" という名前のワークシートを Sh1 に代入
    Dim Sh1 As Worksheet
    Set Sh1 = ThisWorkbook.Worksheets("Sheet1")
    
   '変数 i にデータ範囲の初期値 5 を設定
    i = 5

   '3列目のデータがなくなるところまでループを継続 
    Do Until Sh1.Cells(i, 3) = ""

     'セル(i, 3)のひらがなを全角カタカナに変換し、セル(i, 5)に格納
      Sh1.Cells(i, 5) = StrConv(Sh1.Cells(i, 3), vbKatakana)
      
     'セル(i, 3)のひらがなをカタカナに変換し、更に全角を半角に変換してセル(i, 6)に格納
      Sh1.Cells(i, 6) = StrConv(Sh1.Cells(i, 3), vbKatakana + vbNarrow)
       
     '次の行に移行するためiに1をプラスする     
      i = i + 1

   'ループ条件を満たしていなければDo処理に戻る。満たしていればループ処理終了   
    Loop

'サブルーチン終了    
End Sub

カタカナをひらがなに戻すサブルーチン

Sub カタカナをひらがなに戻す()

   'ループ内で行番号を指定する整数型変数 i を宣言
    Dim i As Integer
        
   'Sheet1" という名前のワークシートを Sh1 に代入
    Dim Sh1 As Worksheet
    Set Sh1 = ThisWorkbook.Worksheets("Sheet1")

   '変数 i にデータ範囲の初期値 5 を設定    
    i = 5

   '6列目のデータがなくなるところまでループを継続     
    Do Until Sh1.Cells(i, 6) = ""
 
     'セル(i, 6)のカタカナをひらがなに変換し、セル(i, 8)に格納。   
      Sh1.Cells(i, 8) = StrConv(Sh1.Cells(i, 6), vbHiragana + vbWide)

     '次の行に移行するためiに1をプラスする     
      i = i + 1

   'ループ条件を満たしていなければDo処理に戻る。満たしていればループ処理終了    
   Loop

   'セル範囲 H5 から H14 までの全角スペースを半角スペースに変換する。
   Range("H5:H14").Replace " ", " ", xlPart

'サブルーチン終了    
End Sub

最後に

Excel VBAを駆使したひらがなとカタカナの変換アプリは、日本語テキスト処理の生産性を飛躍的に向上させます。手作業による作業労力の軽減、正確な変換処理、柔軟性の高いカスタマイズ可能性など、多くのメリットが詰まったこのコードを是非活用して、Excelでの日本語テキスト処理を効率的かつ快適に行ってみてください。