【VBA】ひらがなをカタカナに変換する

カタカナをひらがなに変換したい場合はこちらをどうぞ

このまま読み進めていただいても、使う関数は同じで引数を変えるだけなのでわかると思いますが、サクッとコピペしたいかたはこちらをご覧ください。
【VBA】カタカナをひらがなに変換する

ひらがなをカタカナに変換するにはStrConv関数を使う

参考 StrConv 関数Microsoft
StrConv(string、 Conversion、[ LCID ])

構文

パーツ 説明
string 必須。変換する文字列式です。
conversion 必須。 Integer。 実行する変換の種類を指定する値の合計値です。
LCID 省略可能。 LocaleID (システム LocaleID と異なる場合)。 (システムロケールは既定値です)。

Settings

定数 説明
vbUpperCase 1-d 文字列を大文字に変換します。
vbLowerCase pbm-2 文字列を小文字に変換します。
vbProperCase 1/3 文字列内のすべての単語の最初の文字を大文字に変換します。
vbWide 4 文字列の半角 (1 バイト) 文字を全角 (2 バイト) 文字に変換します。
vbNarrow 8 文字列の全角 (2 バイト) 文字を半角 (1 バイト) 文字に変換します。
vbKatakana 16 文字列に含まれるひらがなの文字をカタカナに変換します。
vbHiragana 32 文字列のカタカナ文字をひらがなに変換します。
vbUnicode 64 システムの既定のコードページを使用して、文字列をUnicodeに変換します。 (Macintosh では使用できません。)
vbFromUnicode 128 文字列を Unicode からシステムの既定のコードページに変換します。 (Macintosh では使用できません。)

選択したセルをすべて変換する

'---------------------------------------------------------------------------------------------------
'【処 理 名】ひらがな⇒カタカナ
'【処理概要】ひらがなをカタカナに変換
'【引    数】なし
'【返 却 値】なし
'---------------------------------------------------------------------------------------------------
Public Sub convToKatakana()
    Call StringConvert(vbKatakana)
End Sub

'---------------------------------------------------------------------------------------------------
'【処 理 名】初期処理
'【処理概要】初期設定を行う
'【引    数】なし
'【返 却 値】なし
'---------------------------------------------------------------------------------------------------
Private Sub init()
    '画面の更新をストップする
    Application.ScreenUpdating = False
    '計算方式の設定を「手動」にする
    Application.Calculation = xlCalculationManual
    'ステータスバーに「...処理中」と表示する
    Application.StatusBar = "...処理中"
End Sub

'---------------------------------------------------------------------------------------------------
'【処 理 名】終期処理
'【処理概要】後始末
'【引    数】なし
'【返 却 値】なし
'---------------------------------------------------------------------------------------------------
Private Sub term()
    '計算方式の設定を「自動」にする
    Application.Calculation = xlCalculationAutomatic
    '画面の更新を戻す
    Application.ScreenUpdating = True
    'ステータスバーに表示していたステータスをクリアする
    Application.StatusBar = False
End Sub

'---------------------------------------------------------------------------------------------------
'【処 理 名】文字変換
'【処理概要】文字を変換する
'【引    数】[I] ByVal prm As Long
'【返 却 値】なし
'---------------------------------------------------------------------------------------------------
Private Sub StringConvert(ByVal prm As Long)
    Dim rng As Range
    
    Call init
    '選択されているすべてのセルを変換する
    For Each rng In Selection
        rng.Value = StrConv(rng.Value, prm)
    Next rng
    
    Call term
End Sub

アドイン化したものを配布しています

右クリックメニューを追加し、文字の変換あれこれをまとめてアドイン化したものを配布しています。
ご利用は自己責任でお願いいたします。
【VBA】セルの値をいろいろ変換するアドインの配布 【VBA】セルの値をいろいろ変換するアドインの配布

コメントを残す

メールアドレスが公開されることはありません。