ExcelマクロVBA入門 | 第12回.変数とデータ型(Dim) | Excelマクロの基礎と応用、エクセルVBAの入門・初級・初心者向け解説



最終更新日:2018-02-06

第12回.変数とデータ型(Dim)


マクロVBA入門者が、まず最初につまずくのが、この変数でしょう、

変数とは、数値や文字列などを一時的に格納する入れ物

と考えて下さい。

この入れ物には、いろいろなタイプの入れ物があります。


まあ、ザルもあれば、ダンボールもあれば、バケツもあればって事です。

当然、水をいれるなら、バケツですよね、

ザルに、水は入れられませんし、ダンボールにいれたら破けてしまいます。

同様に、変数にも、そのタイプによって、

入れられるものと、入れられないものがあります。

この入れ物のタイプを、

データ型と言います。


データ型
データ型 名称 格納できる範囲
Integer 整数型 -32,768 〜 32,767
Long 長整数型 -2,147,483,648 〜 2,147,483,647
Single 単精度浮動小数点数型 -3.402823E38 〜 -1.401298E-45(負の値)
1.401298E-45 〜 3.402823E38(正の値)
Double 倍精度浮動小数点数型 -1.79769313486232E308 〜 -4.94065645841247E-324(負の値)
4.94065645841247E-324 〜 1.79769313486232E308(正の値)
Currency 通貨型 -922,337,203,685,477.5808 〜 922,337,203,685,477.00
String 文字列型 最大約20億文字まで
Date 日付型 西暦100 年1月1日〜西暦9999年12月31日までの日付と時刻
Boolean ブール型 真 (True) または偽 (False)
Object オブジェクト型 オブジェクト
Variant バリアント型 すべてのデータ

※これで全部ではありません、まだまだありますが、上記はよく使われるものだけです。

まあ、今はまだ覚えなくても良いです。

最初に覚えるとしたら、

整数は、Long
少数は、Double
文字は、String

これくらいを覚えておけば十分でしょう。

マクロ(VBA)では、非常に便利なものがあって、

上記の表の一番下の、Variantは何でも入れる事が出来ます

そして、データ型を指定しないと、Variantになります。

つまり、データ型を指定しなければ、それで良いと言う事になります。

データ型は、もう少し、マクロが上達してから覚えても遅くありません。



変数の使い方

変数は宣言する

と言う言い方をします。

Dim 変数名 [As データ型]

これが宣言です。

[As データ型]の部分は、省略可能という意味です。

省略すれば、前記のVariant型になって、何でも入れる事が出来ます

ちなみに、Dimはdimensionの略ですが、その説明は割愛します、

興味のある人は、ネットで調べてみて下さい。

また、変数名は、1行に複数書く事が出来ます。

Dim 変数名 [As データ型], 変数名 [As データ型], ・・・

のように、,(カンマ)で区切って、複数の変数を1行に書く事が出来ます。



変数名の規則

・半角、全角の数字と文字を使えます
・変数名の長さは、半角で255文字以内(全角なら127文字以内)です。
・記号はアンダーバーのみ使用可能(ピリオドやスペースは使用できない
・1文字目は、数字、アンダーバー、記号を使用することができない
・VBAが意味を持たせている語句は使用できない
・大文字、小文字の区別がなく、同様に扱われる。


まあ、普通に書けば大抵は問題ありません。



良く使われる変数名

変数名は慣習的に良く使われる命名があります。

Dim i, j

これらは、数値のみを扱い、かつ、行数のカウント等の場合に使用されることが多いです。

行数のカウントに使う変数は、このようにi,jで構いませんが、
その他の変数は、
使用目的がわかるような意味のある変数名を指定するようにしましょう。

また、データ型の略文字を先頭に付ける事も多く用いられます。

Dim intNo As Integer

これは、整数型のIntegerの略であるintを頭につけて、何かの整数の番号を入れる変数です。

と宣言している訳です。

先の、変数名の規則にもあったように、

全角の日本語も使用できます。

Dim lng行 As Long

これは、長整数型で、行番号を入れますよと宣言していますね。

日本語の変数名に関しては、賛否両論あるようですが、

現在のPC事情(ハード、ソフト両面での)を考えた時、

日本語の変数名の是非を論ずる事自体が無意味です。

解り易ければ、それで良いです。

それ以上でも、それ以下でもありません。



変数宣言の必要性

変数はかならず宣言しましょう。

VBEのオプションで、「変数の宣言を強制する」にチェックを付けました。

すると、

Option Explicit

これが、標準モジュールの先頭に自動的に挿入されるようになりました。

これは、変数は必ず宣言してから使います。

とエクセルに伝えたことになります。

これにより、変数を宣言しないで、いきなり使い始めると、

「変数宣言すると言ったのに、宣言してないぞー」

と、エクセルが怒ります。

エクセルに怒られないように、変数は必ず宣言して下さい。


変数は非常に奥深く、プログラミングの要点ともいえるものです。
少しずつ、じっくりと覚えて行ってください。




同じテーマ「マクロVBA入門」の記事

第9回.Rangeでのセルの指定方法
第10回.Range以外の指定方法(Cells,Rows,Columns)
第11回.RangeとCellsの使い方
第13回.定数と型宣言文字(Const)
第14回.文字の結合と継続行(&アンパサンド)
第15回.四則演算と注釈
第16回.繰り返し処理(For Next)
第17回.繰り返し処理(Do Loop)
第18回.最終行の取得(End,Rows.Count)
第19回.総合練習問題1

新着記事 ・・・新着記事一覧を見る

複数条件判定を行う時のコツ|ExcelマクロVBA技術解説(7月11日)
For Next の使い方いろいろ|VBA技術解説(6月14日)
VBAを定型文で覚えよう|ExcelマクロVBA技術解説(3月26日)
VBAスタンダード試験対策まとめ|MOS VBAエキスパート対策(3月16日)
ユーザーフォームとメニューの操作|MOS VBAエキスパート対策(3月14日)
ファイルの操作|MOS VBAエキスパート対策(3月14日)
ユーザーフォームの各種イベント|Excelユーザーフォーム(3月13日)
レジストリの操作|MOS VBAエキスパート対策(3月12日)
変数と配列|MOS VBAエキスパート対策(3月12日)
Colorプロパティの設定値一覧|VBA技術解説(3月12日)

アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.変数とデータ型(Dim)|ExcelマクロVBA入門
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.マクロって何?VBAって何?|ExcelマクロVBA入門
6.RangeとCellsの使い方|ExcelマクロVBA入門
7.とにかく書いて見よう(Sub,End Sub)|VBA入門
8.繰り返し処理(For Next)|ExcelマクロVBA入門
9.定数と型宣言文字(Const)|ExcelマクロVBA入門
10.マクロはどこに書くの(VBEの起動)|VBA入門



  • >
  • >
  • >
  • 変数とデータ型(Dim)

  • このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


    記述には細心の注意をしたつもりですが、
    間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
    なお、掲載のVBAコードは自己責任で使ってください。万一データ破損等の損害が発生しても責任は負いません。





    このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。

    本文下部へ

    ↑ PAGE TOP