データ入力のミスをゼロに!StrConv関数で「全角・半角」を瞬時に整えるVBA活用術

【業務効率化】VBA
スポンサーリンク

こんにちは、ぐーです。

今回は、Excel実務で避けては通れない課題である「全角・半角の表記ゆれ」を解消する方法について解説します。

例えば、アンケートデータの住所欄で「1-2-3」と「1-2-3」が混在し、集計やマッチングが正しく行えないといった経験はないでしょうか?
これを手作業で修正していると、わずか100件のデータでも多大な時間を要し、目も疲れてしまいますよね。

そこで、Excel VBAのStrConv(ストリング・コンバート)関数を活用し、こうした煩雑な処理をスマートに効率化するテクニックをご紹介します。

【業務効率化】VBAの記事を見る

StrConv関数とは?

StrConv関数は、文字列(String)の形式を変換(Convert)するための関数です。基本の構文は以下の通りとなります。

StrConv(変換したい文字, 変換の種類)

この「変換の種類」に何を指定するかで、結果が自由自在に変わります。

押さえておきたい「3つの主要な定数」

実務で頻出する設定は以下の3つです。これらを使い分けるだけで、大抵のデータクレンジングに対応できるようになります。

  1. vbWide:半角文字を「全角」に変換します
  2. vbNarrow:全角文字を「半角」に変換します
  3. vbProperCase:英文の各単語の先頭を「大文字」に変換します

【コピペOK】実践コード集

では、実際に使えるコードを見てみましょう。VBE(マクロの編集画面)に貼り付けて使ってみてください。

1. 選択範囲をすべて「全角」に統一する

カタカナの「アイウエオ」を「アイウエオ」へ、あるいは半角数字を全角へ変換したい場合に役立ちます。

Sub 全角に統一する()
    Dim cell As Range
    ' 選択しているセルを1つずつ処理します
    For Each cell In Selection
        ' 空白じゃない場合だけ実行
        If cell.Value <> "" Then
            ' vbWide = 全角にする定数
            cell.Value = StrConv(cell.Value, vbWide)
        End If
    Next cell
    MsgBox "全角への変換が完了しました!"
End Sub

2. 選択範囲をすべて「半角」に統一する

住所の番地や電話番号、製品型番などを半角で統一したい場合はこちらのコードが最適です。

Sub 半角に統一する()
    Dim cell As Range
    For Each cell In Selection
        If cell.Value <> "" Then
            ' vbNarrow = 半角にする定数
            cell.Value = StrConv(cell.Value, vbNarrow)
        End If
    Next cell
    MsgBox "半角への変換が完了しました!"
End Sub

3. ローマ字氏名の先頭のみを大文字にする

「yamada taro」を「Yamada Taro」のように整えます。顧客名簿の整理などに非常に便利です。

Sub 先頭だけ大文字にする()
    Dim cell As Range
    For Each cell In Selection
        If cell.Value <> "" Then
            ' vbProperCase = 先頭大文字
            cell.Value = StrConv(cell.Value, vbProperCase)
        End If
    Next cell
    MsgBox "変換完了!"
End Sub

まとめ:データ整理は「統一感」が信頼を生む

Excel業務において、データの形式が揃っていることは、単なる美しさだけでなく「仕事の正確さ」を示す指標となります。

StrConv関数をマスターして、バラバラなデータを一瞬で整列させる効率的なワークフローを手に入れましょう!

【業務効率化】VBAの記事を見る


VBAを独学で学び、業務自動化に5年以上携わってきた私が、「本当に実務で役立った!」と感じた2冊を紹介します。 もう本選びで失敗したくない方は、よければ参考にしてみてください。

この記事を書いた人
ぐー

手取り15万円の会社員でも、年間100万円以上の節約・資産管理・スキルアップで新NISAで年間360万円投資し、iDeCoもフル活用しています。日商簿記3級持っています。

このブログでは、私が実践してきた節約術やリアルな資産運用、稼ぐ力を高めるITスキルについて発信しています。

生活を豊かにしたくて、高配当株投資で年間配当金60万円をめざしています。現在は年間配当金25万円以上達成!

ゲーム・漫画・アニメなどが好きです。
一緒に資産形成をがんばりましょう!
よろしくお願いします!

ぐーをフォローする
【業務効率化】VBAITスキル
スポンサーリンク
ぐーをフォローする

コメント

タイトルとURLをコピーしました