VBAは、変数が、利用できるようになると、とても便利になります。
初学者の時は、決まり文句のように記載していました。
今回は、変数にIF構文を設定してみたいと思います。
目次
変数にIF構文を利用するときってどんなとき?
こんにちは。伊川(@naonaoke)です。
前回は、司法書士試験の問題を利用して、シート全体にマクロ実行ボタンを設置しました。
今回も、ルーティン業務を僕滅する内容です。
これも、実務の中で思いついたのですが、余りNETでは見かけません。
見かけないということは、需要がないと思います。
しかし便利なので、利用してみてください。
このブログはこんな人にお勧め
- Excelで、VBAを勉強している人
- IF構文の利用の幅を広げたい人
- ルーティン業務を僕滅したい人
このブログを、読み終わるころには・・・・
プログラムは、条件分岐の繰り返しです。
しかし、IF構文の以外な利用方法が理解できると思います。
IF構文と変数を組合わせるとき
変数は、便利なのですが、
Dim a as string このように、なんの疑問も持たずに記載していたと思います。
つまり、a という文字に、何かを代入するということです。
これが、変数の基本中の基本です。
なので、a=”伊川直助”とすると、aは、伊川直助をとう役割を果たすようになります。
私も、初学者の時は、フーンとしか思っていませんでした。
しかし、実務で、どうしてもやり方が、わからないときに、突然、閃いたことを紹介します。
IF構文と変数を合わせるとき 作業手順 その1 変数を設定したくないとき
上のような図をみてください・
結合されたセルに。Range(“A8”)~Range(“A12”)までを、転記したいと考えています。
電話番号を転記したいと思います。
しかし、Range(”A12”)には、無となっています。
つまり、電話番号が、ないということです。
もし、普通に実行すれば、このようになります。
そう、電話番号_5:無が気持ち悪いです。
無ければ、下記のように記載ですべきです。
電話番号_2:080123456790
電話番号_3:080123456791
電話番号_4:080123456791
以前は、上記のように記載していました。
つまり、電話番号_5:無 を手動で削除していました。
とても、面倒です。
10掛かりませんが、とても面倒です。
IF構文と変数を合わせるとき 作業手順 その2 変数で、整形する
言ってしまえば、ある時は、値を表示したいが、ある時は、表示したくない。
つまり、条件判定です。
今回は、Range(“A8”)~Range(“A12”)に、無があれば、変数と設定しない。
そうでなければ、変数として設定するという流れになります。
しかも、その転記した内容を、テキストで保存したいということになりました。
Range(“A8”)~Range(“A12”)の値が、無以外だったら、変数を設定するという書き方です。
電話番号_5:無とはなりません。
IF構文と変数を合わせるとき 作業手順 その3 転記した内容を、メモ帳へコピー
メモ帳に転記するコードは、3行です。
IF構文と変数を合わせるとき 作業手順 その4 無にこだわる理由
VBAで、様々なコードを書きました。
しかし、空白には、無と入力しています。
それはなぜかというと、Nullなのか、空白なのかの判定が、難しいときがあるからです。
データベースには、何かしらの値を入れておくことが賢明です。
ここがポイント
今回は、変数と、IF構文を同時に利用する方法を紹介しました。
この方法を、思いついてから、コードの幅が広がりました。
もっとも、コールセンターという特殊な業務なので、皆さんに馴染み、無いかもしれません。
しかし、知識は貪欲に覚えてください。
いつか役に立つ日が来るかもしれません。
まとめ
2週連続で、ルーティン業務僕滅の内容を紹介しあました。
すこしの発送で、ルーティン業務を僕滅できます。
今回も最後まで読んでいただきありがとうございました。
今回のサンプルファイルは、No291です。
わからない事を延々と考えるのは、無駄です。
- なんで作動かないの?
- もうやだ!VBAなんか嫌い!
- ネットで調べても情報がない!
必ず作動するコードが、ここにあります。