【VBA入門】全角文字・半角文字を相互変換する方法について徹底解説

皆さんは、VBAで全角文字を半角文字・半角文字を全角文字に変換する方法を知っていますか?全角で入力されている英字を半角にしたい場合、全角カタカナで書かれている文字を半角にしたい場合など、変換したいケースはよくあります。

そこで今回は、全角文字と半角文字を相互変換するためのStrConv関数の使い方といった基礎的なことから、

  • StrConv関数を使ったサンプルコード
  • 合わせて覚えると便利な文字列比較方法とは
  • 関数の結果を手早く確認する方法とは

といった応用的な方法まで、徹底的に解説します!

全角文字・半角文字を相互変換するためのStrConv関数の使い方とは

はじめに、全角文字・半角文字を相互変換するためのStrConv関数の使い方について解説します。StrConv関数は次のように書くことで、簡単に全角文字・半角文字を相互変換することができます。使い方:

変換方法は全角文字・半角文字の相互変換以外にもいくつかあるので、表形式で一覧にしました。

No意味
 1 vbUpperCase大文字に変換
 2 vbLowerCase小文字に変換
 3 vbProperCase各単語の先頭の文字を大文字に変換
 4 vbWide半角文字を全角文字に変換
 5 vbNarrow全角文字を半角文字に変換
 6 vbKatakanaひらがなをカタカナに変換
 7 vbHiraganaカタカナをひらがなに変換
 8 vbUnicode文字列をUnicodeに変換

変換方法にvbNarrowを入れた場合は全角文字を半角文字、vbWideを入れた場合は半角文字を全角文字に変更することができます。

StrConv関数を使ったサンプルコード

次に、サンプルコードもとに、具体的な使い方を解説します。

サンプルコード:

実行結果:

vbNarrowではExel2016」「サムライエンジニア」の二つが半角文字に変換され、vbWideでは「VBA」が全角文字に変換されていますよね。このように、簡単に全角文字と半角文字を相互変換することができます。

合わせて覚えると便利な文字列比較方法とは

今回は全角文字・半角文字を相互変換する方法を解説しましたが、全角・半角で処理を分岐させたい場合、正しく変換されたか確認する必要がありますよね?StrComp関数を使えば簡単に文字列を比較することができるので、あわせて覚えておくと便利です。

サンプルコード:

一致している場合は「0」、一致していない場合は「-1」で結果が返ってくるので、IF文の条件で結果が0になっているか確認するコードを書いています。このように、簡単に文字列を比較することができます。

StrComp関数を使った文字列比較方法については以下で詳しく解説しているので、気になる方は見てみてくださいね!

【ExcelVBA入門】文字列を完全一致・部分一致で比較する方法とは
更新日 : 2019年5月4日

補足:関数の結果を手早く確認する方法とは

ここまでStrConv関数を使った全角文字・半角文字を相互変換する方法について解説してきましたが、StrConv関数のように引数が多い場合、正しく変換されるか確認するために処理を何度も実行して確認するのは、少しめんどくさいですよね。

そんな時は、イミディエイトウィンドウを使った変数確認方法を覚えておくのがおすすめです!今回の場合だと、以下のようにイミディエイトウィンドウに書くだけで、簡単に関数の実行結果を確認することができます。

イミディエイトウィンドウに書くコード:

実行結果:

イミディエイトウィンドウの詳しい使い方については以下で詳しく解説しているので、気になる方は見てみてくださいね!

【ExcelVBA入門】デバッグに使うイミディエイトウィンドウとは?
更新日 : 2019年4月15日

まとめ

今回は、全角文字・半角文字を相互変換するためのStrConv関数の使い方について解説しました。VBAで全角文字・半角文字を変換したいケースはよくあります。使い方も簡単なので、ぜひ使ってみてくださいね!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

フリーランスエンジニア兼ライターのワキザカ サンシロウです。
ExcelVBAの自動化ツール開発、WEB開発をメインにエンジニア業務をこなしつつ、サムライエンジニアにてライター業務をしております。

プログラミングをこれからやってみたい方に向けて、ためになる記事を全力で書いていきますので宜しくお願い致します!

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説