エクセルVBA超入門講座(3) -変数とは変な数ではない!

変数ってなんだっけ?

中学校の数学では、xとかyが出てくる方程式などを勉強したか思います。そのxやyが「変数」です。変数は「変な数」ではありません。「変わる数」です。

数学の変数はx=5とかy=35とかいうような数を表します。ところがプログラミングの場合は数以外の変数もあります。

a = “EXCEL” とか b = “Dog” とかいうように文字列(文字をつなげたもの)を変数に入れることもできます。さらには Name = “両津” とか Jusho = “亀有公園前 1-12” とかいうように、変数の名前を好きな名前にしておくことができます。

変数とは、「数字や文字列などを入れておく箱」だと思ってください。

変数を使う前には定義が必要

CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 100

変数を使う前には、この変数を使いますよ、と使う前に定義しておく必要があります。変数の名前と、数字なのか文字列なのかを指定します。

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
         かるたゲームを作ってみよう