ビッグデータ/データ分析

懇切丁寧に教えます Excel VBAワザ ベスト9

3番(三)文字列の全角と半角を統一

2016/06/30

立山 秀利=フリーライター
久保田 浩=日経ソフトウエア

  • このエントリーをはてなブックマークに追加

 住所録や部品リストなどの表を作成する際、全角と半角を混在してカタカナや英数字記号を入力してしまいがちです。当然、カタカナは全角、英数字記号は半角、といったように、全角と半角を統一したいはずです。そのような処理にもVBAは有効です。

 VBAやマクロを使わなくても、半角に変換するASC関数や全角に変換するJIS関数で済むように思えるでしょう。しかし、そもそも関数は変換後のデータを別のセルに出力することしかできません。同じセルの既存データを書き換えることはできないのです。しかも、セル内の文字列すべてを全角または半角にまとめて変換することしかできません。セル内にカタカナと英数字記号の両方が含まれていると、文字種に応じた変換ができないのです。それゆえ、VBAやマクロが必要となるのです。

 ここでは、全角と半角のカタカナや英数字記号が混在する表において、カタカナは全角、英数字記号は半角にすべて変換して統一します。記号は「-」(ハイフン)のみとします。また、選択したセル範囲に対して統一処理を行うようにします。このサンプルでは、表のデータが入っているA4~B9セルを選択し、Subプロシージャ「全角半角統一」を実行すると、全角と半角が統一されます(図1)。

図1●選択したセル範囲の文字列について、カタカナを全角、英数字記号を半角に統一
[画像のクリックで拡大表示]

全角/半角を変換できるStrConv関数

1 2 3 4 5 次ページへ END
次ページ以降はITpro Active会員(無料)の方のみお読みいただけます。
会員の方は、 ログインしてご覧ください。
まだ会員でない方は、ぜひ登録(無料)していただき、ITpro Activeの豊富なコンテンツをご覧ください。
出典:日経ソフトウエア 2016年2月号pp.26-28
(記事は執筆時の情報に基づいており、現在では異なる場合があります)

おすすめの記事

    関連プレスリリース

      注目コンテンツ