excel room

事務作業で役に立つエクセル関数などを解説します。

Excelマクロ&vba | 変数とは?

本ブログは、著者国本温子さんの『Excelマクロ&vba[実践ビジネス入門講座]』を解説させて頂くブログとなります。

 

変数とは

エクセルマクロにおける変数とは、値を入れておく箱と説明されることが多いです。

日常会話で例えるならば、『i Phone 13』という値を『スマホ』という箱に入れておくと、

「私のスマホが~」と会話した場合、スマホという言葉が意味するのは、

androidでもなく、i Phone SEでもなく、i Phone 13になるというようなイメージです。

 

 

変数の宣言とデータ型

エクセルマクロで変数を使用する際、変数名とデータ型を宣言する必要があります。

データ型や宣言という言葉が出てきて「??」となっているかもしれませんが、

詳しく解説します。

 

Dim 変数名 As データ型

変数名= ○○

これが変数を使う際のコードとなります。

この変数名に入る値は基本的には何でも良いので、自分が分かりやすい名前を付けます。(プログラミングの世界では、英単語を使うことが多いです。)

データ型は、いくつかの型が用意されていますので、後程紹介します。

これらを料理に例えると、

Dim 麻婆豆腐 As 中華料理

麻婆豆腐 = 挽肉赤唐辛子花椒(ホアジャオ、山椒の同属異種)・豆板醤(トウバンジャン、豆瓣醤)、豆豉豆豉)などを炒め、鶏がらスープを入れ豆腐を煮た料理。

(wikipediaより引用)

このように、麻婆豆腐は中華料理というデータ型で、麻婆豆腐とは○○と記述するイメージです。

 

宣言する方法をご紹介したので、次にデータ型をご紹介します。

データ型には様々な種類がありますが、初めに覚えるのは5つだけでよいです。

 

 

データ型:Long・・・変数に数値を入れる場合に使用

データ型:String・・・変数に文字列を入れる場合に使用

データ型:Worksheet・・・変数にワークシートを入れる場合に使用

データ型:Workbook・・・変数にワークブックを入れる場合に使用

データ型:Range・・・変数にセル範囲を入れる場合に使用

 

上記の2つのみ覚えていれば、初めは問題ないと思います。

 

実例

Dim tax as Long

tax = 0.1

 

Dim i as Long

i = Range("A1") 

i はセルA1に入っている数値となります。(A1セルに文字が入っている場合、エラーになります)

 

dim tax as String

tax = "消費税"

(文字列を書く場合は、ダブルクォーテーションで囲います。)

 

dim tax as String

tax = Range("A1")

 

ちなみにdim と as は小文字で打っても大文字に自動変換されるので、

小文字で打っても構いません。

 

オブジェクト変数に変数を入れる場合

上記では、

Dim 変数名 As データ型

変数名= ○○

と記述すれば良いと解説しましたが、実は例外があります。

 

worksheet,workbook,rangeのデータ型の場合、

Dim 変数名 As データ型

Set 変数名= ○○

と「Set」を追記しなければなりません。

 

実例

dim ws1 as Worksheet

Set ws1 = Worksheets("シート1")

 

Worksheetの場合、

()の中にはダブルクォーテーションで囲ったシート名を入力するか、数値を入力します。

数値を入れると、左から数えて何番目のシートという意味になるので、

シート名を書かずに楽に記述することができます。

 

覚えなくてよいもの

初心者が覚えなくてよいものは、

プロシージャレベル変数やモジュールレベル変数の違いです。

これらは実務ではあまり区別することはありませんので、

気にせず勉強を進めましょう。

また定数(Const) も、あまり使用することがないので、気にせず進めましょう。

 

エクセルマクロに関する内容をyoutubeで発信しています。

ぜひご覧ください!

www.youtube.com

 

ブログの解説本 Excelマクロ&vba[実践ビジネス入門講座]はこちら