Excel 2013 マクロ講座29回 For Each~Nextステートメント

マクロ 選択範囲の文字列をすべてひらがなに変換するマクロ

今日は定時に帰れると思っていた矢先、上司から「資料に使う表の文字種がカタカナで変だから、それを全部ひらがなに変えて欲しい。」という要望がありました。
「今更、時間もないですから(早く帰りたい)、カタカナでいいじゃんじゃないですか?」とも言えません。
このような時マクロでは、StrConv関数を使います。
StrConv関数は、指定した方法で文字列を変換する関数です。
(サンプルファイルは、こちらから 2013マクロ講座29回サンプルデータ
ひらがなをカタカナに変換するマクロも紹介します。

文字列をすべてひらがなに変換するマクロ~For Eachで連続処理する

文字種を変換したい表を用意します。
カタカナ変換
何をしたいのか、実行したい処理でStrConv関数を使います。
For Each
対象となる文字列と、どの文字種にするかを指定してやります。
StrConv(文字列,文字種)
文字列は、変数の値になります。文字種は、vbHiragana
StrConv(変数.value,vbHiragana)

選択範囲の文字列をすべてひらがなにするマクロコード

では、Visual Basic Editorを起動します。

Alt+F11 でVBEの起動ができます。
「挿入」メニューの「標準モジュール」をクリックします。コードは、「標準モジュール」上に記入します。
いつものようにマクロ名を記入しましょう。
Sub 文字種を平仮名に変換() と書くと、
自動的に、
End Sub
と記入されます。
文字種変換マクロ
変数は、わかりやすくするために「選択セル」にしました。
Dim 選択セル As Range

For Each~に変数とStrConv(変数.value,vbHiragana)をいれましょう。

For Each 選択セル In Selection
選択セル.value=StrConv(選択セル.value,vbHiragana)
Next


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

コードはこのようになります。
Sub 文字種を平仮名に変換()
    Dim 選択セル As Range
    For Each 選択セル In Selection
    選択セル.Value = StrConv(選択セル.Value, vbHiragana)
    Next 選択セル
End Sub    
マクロを実行すると、
ひらがなに変換マクロ
一瞬でカタカタがひらがなに変わりました。
ひらがなに変換マクロ2

文字列をすべてひらがなからカタカナに変更するマクロ

こちらは、選択セルの文字列をひらがなからカタカナに変更するマクロです。
Sub 文字種をカタカナに変換()
    Dim 選択セル As Range
    For Each 選択セル In Selection
    選択セル.Value = StrConv(選択セル.Value, vbKatakana)
    Next 選択セル
End Sub

定数の一覧を参考に、いろいろお試しください。
定数一覧

今日の講義は以上です。お疲れ様でした。
スポンサーリンク
スポンサーリンク