見出し画像

パソコン悪戦苦闘記録

Excelマクロによるデータ種類判定 VBAで文字列を扱う

 今回も、入力データがひらがなであるのかを判定してくれるExcelマクロの解説の続きです。

 ひらがな判定マクロについては、次の記事をご覧ください。

 ⇒ 「ひらがな判定マクロ」の記事1
 ⇒ 「ひらがな判定マクロ」の記事2
 ⇒ 「ひらがな判定マクロ」の記事3


 入力データがひらがななのか、そうでないのかの判定には、
   文字列比較演算子「Like」
を使います。

   変数Result = Range("A1").Value Like "[ぁ-ん]" 
というコードで判定が可能です。

 A1セルの値(1文字である必要あり)が、
[ぁ-ん]の範囲内にあれば、変数Resultには「真True」が入り、
[ぁ-ん]の範囲外であれば、変数Resultには「偽False」が入ります。






 ここで、私がよくやっちまうミスがあります。
 Range("A1").Value Like [ぁ-ん]
というコードを、ついつい書いてしまうのです。
 そうです、[ぁ-ん]の両端に、ダブルクォーテーション「"」を付け忘れるのです。

 これでは、マクロは動いてくれません。
 「実行時エラー、型が一致しません。」というエラーメッセージが出ます。
 
 VBAコードのルールの一つとして、
「文字列は、その両端をダブルクォーテーションで囲む。」
ってのがあります。
 これは、VBAの鉄則であって、最低限の決まり事です。
 
 "[ぁ-ん]" というのは、「ぁ」と「ん」の範囲内の1文字を表し、つまり文字列です。
 文字列である以上、ダブルクォーテーションを忘れてはいけません。


 
 マクロにまともに動いてもらうためには、正確な命令文を書きましょう。
 たった一つの記述ミスで、マクロは頑として動きません。

それでは、また次の記事で。
goosyun
名前:
コメント:

※文字化け等の原因になりますので顔文字の投稿はお控えください。

コメント利用規約に同意の上コメント投稿を行ってください。

 

  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近の「VBAプログラミング・マクロ」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事