第1回.マクロとは?VBAとは?VBAでできること
エクセルのマクロとは何でしょうか?
ExcelのVBAとは何でしょうか?
VBAで何が出来るのでしょうか?
この自動化する機能が、「マクロ」と呼ばれています。
そのプログラムを記述しているプログラミング言語が、VBA(Visual Basic for Applications)です。
Excel操作を自動化する「マクロ機能」の中身が、プログラミング言語である「VBA」で記述されているという事です。
ページ内目次
マクロとは
・Excelの全機能を操作出来ます。
・手動操作を記録できる。
・Windowsの設定やインターネットのデータ収集も可能。
手動での操作がマクロとして記録されます。
つまりVBAコードが自動で書かれます。

ただし、この自動記録されたマクロには後に説明(マクロVBA学習の必要性)するような問題点があります。
VBAとは
・手作業が大変なので、自動処理させたい
むしろ単数形、複数形などが忠実に使われたりしています。
ですので、英単語を順に読んでいけば、ある程度は記述されている事を理解できます。
(知っている英単語であればという事です。)
しかし英語でも同じですが、なんとなく読めたとしても、書いたり話したりするのは難しいものです。
つまりVBAを覚えるという事は、VBAを書けるようになるという事になります。
もちろん、書けるようになるには、読めることが前提にはなります。
マクロVBA学習の必要性
そして、日々の単純な繰り返し作業を自動化し業務を効率化することができるようになります。
どうしても無駄が多く非効率なプログラムコードとなっています。
また、「マクロの記録」では記録されない操作があったり、
そもそも、手動での操作が出来ない場合も多くあります。
・同じ作業を何回か繰り返す。
・条件により操作内容を切り替える。
これらはマクロの記録では記録できません。
少しずつ無理なく進めるように説明していきます。
VBAによる自動化とは条件分岐しつつ処理を繰り返すだけ
ブログラミングによる自動化の大部分は、
条件により分岐しつつ繰り返す、繰り返しつつ条件分岐する。
これにつきます。
・条件分岐:If~End Ifステートメント
・繰り返し処理:For~Nextステートメント
If文とFor文の基本をしっかりと覚え、これらIf文とFor文をネスト(入れ子)させるプログラミング技術を習得してください。
VBAでできること
- エクセル操作全般の自動化
- フォルダ、ファイルの操作
- メール送受信
- WEBデータの収集、WEBブラウザの自動操作
- データベースへ接続してのデータ取得更新
- 他アプリケーションの自動操作
もちろん操作内容により、実現難易度および学習難易度は変わってきます。
VBAを使えば、こういうことができるというサンプルとしていくつか抜粋してみました。
以下はVBAで作ったゲームです。
マクロVBA学習の前提知識
まずは、これらをしっかりと覚えて下さい。
エクセル入門
ここの内容をある程度理解してからマクロを始めた方が、VBAの学習はスムーズに進みます。
ですが、上記内容を全て習得しておく必要はありません。
VBA解説の中で、必要に応じて適宜手動操作や関数について説明していきます。
マクロVBAの学習の手引き(VBA学習順序)
2. VBA入門に必要なVBEの基本的使い方
3. VBAプログラミングの基礎・基本
4. Excel各種機能とオブジェクトの理解
ここまでは理解できない部分があっても、細部にこだわらず時には先に進んでください。
先に進むことで、以前は理解できなかったことが理解できるようになっている場合もあります。
最初は、そういう物なんだと理解するようにしてください。
学習がすすむにつれて次第に理解が深まっていきます。
RangeとCellsの深遠|VBA技術解説
これ以降の章は、ご自身の目的に合わせて学習する部分を選択すると良いでしょう。
VBAの学習順序としては、以下のページも参考にしてください。
ExcelマクロVBAの基礎を学習する方法
また、とにかく実戦を通して素早く身に付けたい人は、こちらから始めると良いでしょう。
Excelマクロ再入門
同じテーマ「マクロVBA入門」の記事
【VBA学習のお勧めコース】
VBAの基礎・基本の要約
第1回.マクロとは?VBAとは?VBAでできること
第2回.まずはマクロVBAを使う準備
第3回.マクロの記録
第4回.マクロはどこに書くの(VBEの起動)
第5回.VBEのオプション設定(Option Explicit)
第6回.とにかく書いてみよう(Sub,End Sub)
第7回.マクロを実行するには(F5)
第8回.セルに文字を入れるとは(RangeオブジェクトのValueプロパティ)
第9回.Rangeでのセルの指定方法
新着記事NEW ・・・新着記事一覧を見る
イータ縮小ラムダ(eta reduced lambda)|エクセル入門(2023-11-20)
PIVOTBY関数(縦軸と横軸でグループ化して集計)|エクセル入門(2023-11-19)
GROUPBY関数(縦軸でグループ化して集計)|エクセル入門(2023-11-18)
PY関数(Pythonコードをセル内で実行)|エクセル入門(2023-11-17)
画像「セルに配置」のVBAについて(365の新機能)|VBA技術解説(2023-11-13)
スピルのゴーストの範囲を選択するVBA|ツイッター出題回答 (2023-10-31)
エクセル試験3:月間の所定労働時間|エクセル練習問題(2023-10-04)
エクセル試験2:所得税の計算|エクセル練習問題(2023-10-04)
エクセル試験1:曜日別の平均客単価|エクセル練習問題(2023-10-04)
列全体を指定する時のRangeとColumnsの違い|ツイッター出題回答 (2023-09-24)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.繰り返し処理(For Next)|VBA入門
4.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
5.変数宣言のDimとデータ型|VBA入門
6.条件分岐(IF)|VBA入門
7.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
8.並べ替え(Sort)|VBA入門
9.マクロとは?VBAとは?VBAでできること|VBA入門
10.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。