変数ってなんだっけ?

中学校の数学では、xとかyが出てくる方程式などを勉強したか思います。そのxやyが「変数」です。変数は「変な数」ではありません。「変わる数」です。
数学の変数はx=5とかy=35とかいうような数を表します。ところがプログラミングの場合は数以外の変数もあります。
a = “EXCEL” とか b = “Dog” とかいうように文字列(文字をつなげたもの)を変数に入れることもできます。さらには Name = “両津” とか Jusho = “亀有公園前 1-12” とかいうように、変数の名前を好きな名前にしておくことができます。
変数とは、「数字や文字列などを入れておく箱」だと思ってください。
変数を使う前には定義が必要

変数を使う前には、この変数を使いますよ、と使う前に定義しておく必要があります。変数の名前と、数字なのか文字列なのかを指定します。
Dim X As Long ‘数字(整数)の場合
Dim A As String ‘文字列の場合
このように書いて定義します。LongとString以外にも、(例えば少数とか)いろいろな型があります。けれど初心者はとりあえずLongとStringだけ覚えておけば大丈夫でしょう。
どうして定義が必要なの?

いちいち変数を定義するなんてめんどくさいですよね。どうして定義しなくちゃいけないのでしょうか?
一つの変数に数または文字列を入れると、コンピューターのメモリのその変数のところに値が書き込まれます。
たとえばメモリーのXという変数が書かれている場所に、「65 75 66」 と書かれていたとします。(実際は16進数で書かれているのですが、話を簡単にするため10進数にしています)
この変数Xが数字として定義されていたとすると、Xは65万7千5百66だと解釈します。なので、もし X + 48 を計算すると 657614 を返します。
一方変数Xが文字列として定義されていた場合は、65は文字コードだと解釈されます。上の図にあるような文字コード表によって変換するので、65はA、75はB、66はBなので、「65 75 66」は「AKB」になります。もし X + “48” を計算すると、文字列の結合なので「AKB48」になります。
このように、メモリー上に書かれた数字をそのまま数字として解釈するのか、それとも文字コードとして解釈して文字に変換するのかを、コンピュータに分からせるために、Xは数字です、またはXは文字列です、と定義することが必要なのです。
(なお、この説明は考え方を分かりやすく書いたため、端折ったところや厳密には正しくないところもあります)
本日のポイント
変数にはその他にも配列変数などもありますが、初心者はまずはこれだけ覚えておきましょう。
- 変数とは数字や文字を箱である
- 変数は使う前に定義しておく
Dim X As Long ‘数字の場合
Dim Name As String ‘文字列の場合

(A) エクセルプログラミング個人レッスン -実際に使える処理を作ります。をやってます。6000円。くわしい説明と最新スケジュールはこちら。
7/20(土)横浜 14:00-16:00予約済
(B) エクセルプログラミング初級勉強会 5000円。詳しくはこちら。
- 7/27(土)横浜 13:00-16:00
マクロの操作とセルの色や罫線の自動編集編 - 8/4(日) 横浜 13:00-16:00
セル内の文字列の編集編
(C) 夏休みの自由研究ができあがる、親子エクセルプログラミング教室
親子で5000円。詳しくはこちら。
- 7/27(土)横浜 10:00-12:00
クイズゲームを作ってみよう - 8/4(日) 横浜 10:00-12:00
かるたゲームを作ってみよう
コメント