VBAテクニック

VBAの基本をパソコン教室講師が分かりやすく解説します

更新日:

今回はVBAの基本についてお話してみます。

マクロとVBAの違いとは?

マクロとVBAは何かと似ていますが、実は異なる方向で進化した便利な仕組みだといえます。

前者のマクロは表計算ソフトなどの標準機能で、予め決められている手順で繰り返し処理を行う、といった用途に対応します。

一方で後者のVBAは、Visualベーシックというプログラム言語がベースで、アプリケーション向けに提供されているものです。

機能や拡張性はVBAの方が上で、知識を習得するハードルは高いものの、使いこなしの幅でいえばマクロよりもこちらに軍配があがります。

マクロとはエクセルや他のアプリケーションソフトを予め決められた手順で制御する機械の名前のことをいいます。

一方VBAはVisual Basic for Applicationsの略称で、マクロ機能で作成する手順を記述するマクロ言語の名称のことをいいます。

マクロはエクセルの機能名なのでグラフやピボットテーブル、オートフィルターなどと同じ立場です。

エクセルにはVBAにはないマクロ言語もあるのでその点に注意しましょう。

VBAの「オブジェクト」とは?

VBAにはオブジェクトという言葉や概念が現れ、これが理解に必要な要素となっています。

オブジェクトは本来、物体という意味ですが、VBAにおいてはプログラムの操作対象を表します。

表計算ソフトにおいては、アプリケーションやワークブックオブジェクトのように、様々な操作対象が用意されています。

例えば、特定の処理を行いたい場合に何を対象とするか、その指定を行うのがオブジェクトです。

物体ではないので理解しにくいですが、VBAでは必須の概念ですから、早めに覚えることをおすすめします。

VBAのオブジェクトとは、ブックなどのVBAで操作をする対象項目となるもので、データ型の中の1つです。

それには主にブックなどの対象項目があります。

どのような機能があるかというと、例えば1つのブックオブジェクトの中に複数のワークシートが含有されています。

これらの集合体のことをコレクションと言い、それ自体もオブジェクトの1つとして操作されているのです。

コレクションは全ての管理を行い重要な役割があります。

VBAの「プロパティ」とは?

プロパティは特性や性質を意味する言葉で、VBAだとオブジェクトが保有する数値の値や、文字列などを格納する要素です。

プロパティも操作を行うことが可能で、値を取得したり設定が行えるようになっています。

ただし、操作時に指定の型が異なるとエラーが発生しますから、プロパティごとの型を把握することも大切です。

また、オブジェクトによっては既定値が設定されており、意図的に設定しなくても初期値としてその値が用いられます。

VBAのオブジェクトはそれ自体だけでは何も操作することができません。

オブジェクトを操作するにはプロパティが必要です。

プロパティとはオブジェクトの属性を指すもので、属性とはそのオブジェクトの情報そのものをいいます。

プロパティはその値を取得したり設定することもできます。例えばセルには色や文字の大きさ、フォントや値などさまざまな属性が設定されていますが、それらがプロパティなのです。

プロパティを使用するのであれば、決まった書式に則って記述することが大切です。

VBAの「メソッド」とは?

メソッドはプログラム用語でいうところの関数にあたり、どういった動作を行うかが規定されます。

更にメソッドには引数という要素があって、実行時にこの引数を与えることで、処理が変えられるようになっています。

具体的にどう動作するかはメソッドの内容次第ですが、引数の概念を用いることによって、柔軟性が高められます。

勿論引数なしのメソッドも定義できますから、そこは使いたい機能や目的に合わせて、自由に設計を行うことが可能です。

メソッドもプロパティと同様にオブジェクトの属性を指すものです。

具体的にメソッドとはオブジェクトを操作する命令文のことでオブジェクトの動作にもなります。

セルに対して削除やコピー、貼り付けなどを行うことができ、このような削除やコピー、貼り付けがメソッドにあたります。

メソッドの使い方はプロパティと同じで決まった書式で則って記述を行います。

オブジェクト名とメソッド名の間にピリオドで結んで記述することになります。

VBAの基本文法とは?

VBAにおける基本文法は、オブジェクトの値を取得する場合だと、Rangeに丸括弧を付けてオブジェクトの名前をダブルコーテーションで囲みます。

加えて閉じた括弧の後にピリオドを付け、更にオブジェクトのプロパティ名を加える形です。

これを変数のイコールの後に用いると、指定した変数に取得した値が代入されます。

逆に、この文法の後にイコールを付ければ、指定のオブジェクトのプロパティに新しい値が入れられます。

値をもたせる変数の宣言にはDimを用いて、その後に値を代入する使い方となります。

各メソッドなどの使用は、Subでプロシージャの定義を行い、Endで挟んでそのブロック内に記述するのが基本です。

VBAでプログラムを記述するのであれば、基本的な文法を確認することが大切です。

基本文法にはSubプロシージャやコードの記述、変数やデータ型と変数の型の指定などがあります。

Subプロシージャとは、VBAでプログラムを記述した後に、実際にプログラムを呼び出す時に使われる単位のことをいいます。

コードの記述とはSubプロシージャを定義した後に行う操作のことで、コードはプロシージャ内に複数記述することができます。

 

 

 

 

ブログを書いている講師紹介(初心者の気持ちが日本で唯一わかるパソコンが苦手だった講師)

森分 然(もりわけ しかり)ミスターしかっち

パソコンが大の苦手だったところから、パソコンを覚えてきた経験を元にパソコン教室を開講。自身の経験から「専門用語を使わない」「例え話」「初心者の気持ちが唯一わかる講師」で人気。全国対応の遠隔レッスンで多くの問い合わせが殺到。初心者向けに少しでも役に立ちたいと、馴染み易いように始めた動画「ミスターしかっち式動画」が大人気。小学生が見てもわかるような動画を無料で掲載中。「ミスターしかっち」で検索!

おすすめ記事

-VBAテクニック
-

Copyright© パソコン教室キュリオステーション , 2020 All Rights Reserved Powered by AFFINGER5.