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



最終更新日:2015-03-18

第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 バリアント型 すべてのデータ

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


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


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


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


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


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


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


前置きが長くなりましたが、では変数の使い方です。


変数は宣言する


と言う言い方をします。


Dim 変数名 [As データ型]


これが宣言です。


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


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


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


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


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


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


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


変数名の規則


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


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


良く使われる変数名


Dim i, j


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


ただし、本来は、意味のある変数名を指定するようにしましょう。


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


Dim intNo As Integer


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


と宣言している訳です。


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


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


Dim lng行 As Long


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


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


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


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


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


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


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


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


すると、

Option Explicit


が先頭に自動的に挿入されるようになりました。


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


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


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


エクセルが怒ります。


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





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

第13回.定数と型宣言文字(Const)
第14回.文字の結合と継続行(&アンパサンド)
第15回.四則演算と注釈
第16回.繰り返し処理(For Next)
第17回.繰り返し処理(Do Loop)
第18回.最終行の取得(End,Rows.Count)
第19回.総合練習問題1

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

SUMIFの間違いによるパフォーマンスの低下について|エクセル関数超技(6月17日)
条件式のいろいろな書き方:TrueとFalseの判定とは|ExcelマクロVBA技術解説(6月15日)
空白セルを正しく判定する方法2|ExcelマクロVBA技術解説(5月6日)
フルパスをディレクトリ、ファイル名、拡張子に分ける|ExcelマクロVBA技術解説(4月15日)
テキストボックスの各種イベント|Excelユーザーフォーム入門(4月9日)
フォルダ(サブフォルダも全て)削除する、Optionでファイルのみ削除|ExcelマクロVBAサンプル集(4月4日)
最後の空白(や指定文字)以降の文字を取り出す|エクセル関数超技(3月26日)
先頭の数値、最後の数値を取り出す|エクセル関数超技(3月26日)
Excelファイルを開かずにシート名をチェック|ExcelマクロVBAサンプル集(3月23日)
数式の参照しているセルを取得する|ExcelマクロVBAサンプル集(3月18日)

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

1.最終行の取得(End,Rows.Count)|ExcelマクロVBA入門
2.RangeとCellsの使い方|ExcelマクロVBA入門
3.徹底解説(VLOOKUP,MATCH,INDEX,OFFSET)|エクセル関数超技
4.Range以外の指定方法(Cells,Rows,Columns)|ExcelマクロVBA入門
5.変数とデータ型(Dim)|ExcelマクロVBA入門
6.セルのコピー&値の貼り付け(PasteSpecial)|ExcelマクロVBA入門
7.セルの参照範囲を可変にする(OFFSET,COUNTA,MATCH)|エクセル関数超技
8.ひらがな⇔カタカナの変換|エクセル基本操作
9.定数と型宣言文字(Const)|ExcelマクロVBA入門
10.CSVの読み込み方法|ExcelマクロVBAサンプル集



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

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


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

    ↑ PAGE TOP