ExcelマクロVBA技術解説 | マクロとは、VBAとは | ExcelマクロVBAの問題点と解決策、エクセルVBAの技術的解説



最終更新日:2013-02-18

マクロとは、VBAとは


マクロは、エクセルの機能の一つ
です。


マクロとは、一般用語では、巨大な塊等を指しますが、


パソコンでは、あらかじめ登録されている操作の手順の塊を指します。


そして、エクセルのマクロの内部での記述言語をVBA(Visual Basic For Application)と呼びます。


つまり、VBAで記述された塊が、マクロになります。



マクロを使う準備

2007以降の場合は、「開発」タプを表示います。

「オフィスボタン」→「Excelのオプション」→「基本設定」で、

「開発」タブをリボンに表示する、にチェックを付けます。


マクロの記録

1.2003なら、「ツール」→「マクロ」→「新しいマクロの記録」

  2007以降、「開発」→「マクロの記録」

  「マクロの記録」が表示されます。

2.マクロ名は「Macro1」のままで良いでしょう。「OK」

3.適当なセル、例えば、A1を選択し、「こんにちは」と入力します。

4.2003なら、「ツール」→「マクロ」→「記録終了」

  2007以降、「開発」→「記録終了」

これで、マクロが記録されました。



マクロの内容を見る

「Visual Basic Editor」を起動します。

2003なら、「ツール」→「マクロ」→「Visual Basic Editor」

2007以降、「開発」→「Visual Basic」

ショートカットはAlt+F11です。




それぞれのウィンドウは、

左上が「プロジェクト」、左下が「プロパティ」、右上が「コード」等になります。

「プロジェクト」に「標準モジュール」が出来ています。

「標準モジュール」を展開すると、「Modure1」があります。

これをダブルクリック、または、F7で、「コード」が表示されます。

中には、

Sub Macro1()
'
' Macro1 Macro
'

'
Range("A1").Select
ActiveCell.FormulaR1C1 = "こんにちは"
Range("A2").Select
End Sub
これが、マクロであり、プログラミング言語をVBAと呼びます。


マクロの実行方法

1.エクセルの画面に戻って、A1をクリアし

2.2003なら、「ツール」→「マクロ」→「マクロ」

  2007以降、「開発」→「マクロ」

  ショートカットは、Alt+F8です。

3.「Macro1」を選択し、「実行」

これで再び、A1に「こんにちは」と入ったはずです。


Macto1のコードの説明
Sub Macro1()

・・・
End Sub

これが1つの単位です、プロシージャーと呼びます。

SubはSubプロシージャーと呼ばれます。

「'」以降は、その行は、コメントとなります。行の途中からでも書くことができます。

Range("A1").Select、A1セルを選択します。

Selectはメソッドと呼ばれます。

ActiveCell.FormulaR1C1 = "こんにちは"、選択セルに「こんにちは」と入れます。

この場合の「=」は、等号というより、値の代入になります。

ActiveCellはオブシェクト、FormulaR1C1はプロパティと呼びます。

さらに、私は、Enterしたので、下のセルA2が選択されました。


モジュールとは

モジュールには、

「シートモジュール」

「ブックモジュール」

「標準モジュール」

「クラスモジュール」

があります。

「シートモジュール」は、シート毎に作成し、そのシートの操作で使用します。

「ブックモジュール」は、ブックに1つで、そのブックの操作で使用します。

「標準モジュール」は、上記のモジュール等で共通で使用します。

「クラスモジュール」は、クラスを作成します。今回のシリーズでは使用しません。


プロシージャーとは

プロシージャーは、procedureであり手順です、一連の手順を記述したものです。

プロシージャーには、SubとFunctionの2種類があります。


Subプロシージャーとは

Sub プロシージャー名(引数)

・・・
End Sub

です、引数は省略できます。

プロシージャーと言った場合は、モジュールの全てを指すことになります。

モジュールの中に複数のサブ(Sub)プロシージャーがあることになります。

また、本当は、スコープが先頭に入り、Private SubPublic Subとなります。

しかし、スコープを意識したプログラミングは初心者には難しいので、当面は省略します。

省略した場合は、Publicとなり、他のモジュールから参照でき、

Privateの場合は、同一モジュール内のみ参照が可能です。

とりあえず今は気にする必要はないです。

引数は、外部からそのプロシージャーを呼び出した時に、値の引き渡しに使用します。

引数は省略できます。

引数の指定方法は、おいおい説明します。


Functionプロシージャーとは

Function プロシージャー名(引数) As 戻り値のデータ型
・・・
End Sub

Subプロシージャーとの違いは、処理した結果(戻り値)を返すところです。

呼び出す側では、この戻り値を使用します。

例えば、Subでは、処理が正しく行われたかどうかが分かりません。

Functionでは、処理結果を戻すことにより、呼び出し側で判定ができるようになります。

上記以外は、Subと同様と考えて下さい。


オブジェクトとは

オブジェクトは、objectであり、物・物体のことです。

VBAで何か操作をしようとする対象となるものがオブシェクトです。

ブックやシート、そしてセルなどを指します。


プロパティとは

プロパティは、propertyであり、財産・資産のことです。

オブジェクトの持つ財産・資産のことであり、オブジェクトの性質を表すデータです。

セルの持つ値や書式は全て、セルのプロパティです。


メソッドとは

メソッドは、methodであり、方法。方式です。

オブジェクトに対する動作・操作を指定します。

セルを選択する、セルを削除する等です。



まだまだ説明が足りませんが、とりあえず、単語だけ覚えてもらえれば良いと思います。

また、ネット上には、VBA入門が多数あるので、参考にして下さい。






同じテーマ「マクロVBA技術解説」の記事

コーディングとデバッグ
ローカルウィンドウの使い方
WorksheetFunctionについて
RangeとCellsの深遠
Offset、Resizeを使いこなそう
値渡し、参照渡しについて(ByVal,ByRef)
最終行・最終列の取得方法(End,CurrentRegion,SpecialCells,UsedRange)
ユーザー定義関数の作り方
セルの値について(Value,Value2,Text)
Excelのバージョンを判断して「名前を付けて保存」

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

複数条件判定を行う時のコツ|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入門



  • >
  • >
  • >
  • マクロとは、VBAとは

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


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





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

    本文下部へ

    ↑ PAGE TOP