目次
変数とは
こんにちは。伊川(@naonaoke)です。
今回は、具体的なサンプルがあるわけではないのですが、変数について説明をしたいと思います。
変数は、どのプログラムの言語を利用しても、必ず利用するものになります。
ここでは、変数の概念について確認してください。
変数を一言で説明することは難しいです
問題提起
(株)IKAWAの阿久 世子男(アク セスオ)は新人研修で下記のような質問を受けました。
変数を理解したいのですが、イマイチ理解できません。
どの様に説明すると理解できるだろうか?
解決策
・変数は、文字の説明だけでは理解できないので、例題で説明するのがいいでしょう。
変数
変数は、VBAで使う変数と、方程式で使う変数とは少し意味合いが違います。
両社の相違点を理解しないと、VBAで利用する変数は、理解できませんので、先入観を捨ててください。
先入観を捨てるのが、VBAで変数を理解する第一歩なのです。
変数 上手い人のコードには、変数がたくさんある
上手いコードを記載する人は、必ず変数を使います。
コードがコンパクトになります。
メンテナンスが楽になります。
この、コンパクトであり、メンテナンスが楽というのは、コードを記載する際に、かなり重要なことになります。
変数 変数の名前には決まりがあるのか? 初心者が挫折するポイント1
NETで、VBAを検索した場合に、色々な変数があります。
例えば、temp i j maxrow などです。
temp i j maxrow などは、開発者が勝手にきめたものなのです。
temp i j maxrow に、特に意味はありません。
伊川は、temp i j maxrow に意味があるのだろうと勝手に思い込んでいました。
自分で書いたコードの変数は、勝手に決めていいのです。
しかし、わかりやすい変数の名前にしておかないと、後で苦労しますので、ご注意ください。
変数 変数の型を覚えようとする 初心者が挫折するポイント2
変数には、型があります。
しかし、その型を憶える必要はありません。
型は、スキルがあがるにつれて勝手に理解していきます。
初心者であれば、
String(文字を格納する変数の型:問題ないのですが、Nullの処理が面倒です)
Integer(整数を格納する変数の型:伊川は、Longを好んで使います)
Double(小数点まで格納する変数の型:競馬予想などは、オッズが小数点で表示されますので必須の型です)
Variant(整数でも文字もで何でもありの型:VBAの処理速度が遅くなります)
この程度の知識で十分です。
型が一致しませんというエラーは、開発する際に、何度も見ました。
このエラーの原因は、数値型のLongと、文字型のStringを加算しようとしたので、エラーが出ました。
「あ+1」 この計算をExcelに押し付けたのです、Exxcelは、たまらずエラー返却したというオチです。
変数 変数と値が等しいと思ってしまう 初心者が挫折するポイント3
変数の書き方ですが、a=1 と記載します。
このときに、思い出してしまうのが、方程式なのです。
数学の癖が抜けなくて、aと1は等しいと思います。
つまり、犯人aの正体は、1であると考えます。
これは、ダメなのです。
少し、状況を変えましょう。
この状況を変えないと、a=a+1 という数式が理解できなくなります。
上の数式の答えは、4になります。
VBAでは、aに3を代入しているのです。
つまり、a=a+1 は、仮にaの値を3とするならば、3に1を加算していると読めます。
これが重要なポイントなのです。
ここがポイント
VBAのコードを記載する場合は、
変数と値をイコールとして考えるのではなく、変数に値を代入していると考える事が重要です。
まとめ
今回は、実際のコードは使いませんでしたが、次回に、実際のコードを使って確認してみましょう。
今回のサンプルファイルは、ありません。
わからない事を延々と考えるのは、無駄です。
- なんで作動かないの?
- もうやだ!VBAなんか嫌い!
- ネットで調べても情報がない!
必ず作動するコードが、ここにあります。