エクセルの神髄
ExcelマクロVBA入門

ExcelマクロVBAの基本と応用、初級・初心者向け解説です
最終更新日:2019-11-06

ExcelマクロVBA入門


Excel VBA 入門 エクセル マクロ

Excel VBAとは、エクセルの操作を自動化するマクロ機能で使われているプログラミング言語です。
VBAは、「Microsoft Visual Basic Applications」の略になります。


このマクロVBA入門シリーズでは、
実務で必要とされるマクロVBAの入門として、基本から応用までのVBA全般を解説していきます。

初級・初心者の方の入門としては、まずは最初から軽く通読するようにして下さい。
理解できない部分があっても、時に先に進むことも重要です。
先に進むことで、以前は理解できなかったことが理解できるようになっている場合もあります。
折に触れて復習することで、いつの間にか理解が進んでいることを実感できるはずです。

中・上級者の方は、目次から必要な項目をご覧ください。

学習順序としては、以下のページも参考にしてください。

ExcelマクロVBAの基礎を学習する方法
とにかく実戦を通して素早く身に付けたい人は、
Excelマクロ再入門
こちらから始めるのも良いでしょう。

VBA入門の基本:マクロVBA入門

まずは、入門としての基本からです。
ExcelマクロVBAが初めての方にも分かるようになるべく平易に詳しく書くようにしました。

第1回.マクロって何?VBAって何?
第2回.まずはマクロVBAを使う準備
第3回.マクロの記録
第4回.マクロはどこに書くの(VBEの起動)
第5回.VBEのオプション設定(Option Explicit)
第6回.とにかく書いて見よう(Sub,End Sub)
第7回.マクロを実行するには(F5)
第8回.セルに文字を入れるとは(Range,Value)
第9回.Rangeでのセルの指定方法
第10回.Range以外の指定方法(Cells,Rows,Columns)
第11回.RangeとCellsの使い方
第12回.変数宣言のDimとデータ型
第13回.定数宣言のConstと型宣言文字
第14回.文字の結合(&アンパサンド)と継続行(_アンダーバー)
第15回.四則演算と注釈(コメント)
第16回.繰り返し処理(For Next)
第17回.繰り返し処理(Do Loop)
第18回.最終行の取得(End,Rows.Count)
第19回.総合練習問題1

第20回.条件分岐(If)
第21回.条件分岐(ElseIf)
第22回.条件分岐(Select Case)
第23回.メッセージボックス(MsgBox)
第24回.インプットボックス(InputBox)
第25回.名前付き引数について
第26回.総合練習問題2

第27回.ブック・シートの選択(Select,Activate)
第28回.セル・行・列の選択(Select,Activate)
第29回.セル・行・列の削除・挿入(Delete,Insert)
第30回.総合練習問題3

第31回.セルの書式(表示形式,NumberFormatLocal)
第32回.セルの書式(配置,Alignment)
第33回.セルの書式(フォント,Font)
第34回.セルの書式(塗りつぶし,Interior)
第35回.セルの書式(罫線,Border)
第36回.総合練習問題4

第37回.ブック・シートの指定
第38回.セルに計算式を設定(Formula)

第39回.セルのクリア(Clear)
第40回.セルのコピー・カット&ペースト(Copy,Cut,Paste)
第41回.セルのコピー&値の貼り付け(PasteSpecial)
第42回.セルをコピーするとは
第43回.総合練習問題5

第44回.VBA関数について
第45回.VBA関数(Format)
第46回.VBA関数(日付,DateAdd)
第47回.VBA関数(文字列操作,Replace,InStr,StrConv)
第48回.VBA関数(その他,Fix,Int,Rnd,Round,IsEmpty)
第49回.Like演算子とワイルドカード
第50回.総合練習問題6

第51回.Withステートメント
第52回.オブジェクト変数とSetステートメント
第53回.Workbookオブジェクト
第54回.Windowオブジェクト
第55回.Worksheetオブジェクト
第56回.Rangeオブジェクト(RangeとCells)
第57回.Applicationのプロパティ(マクロ高速化と警告停止等)
第58回.コレクションとは(Collection)
第59回.コレクション処理(For Each)
第60回.エラー処理(On Error)
第61回.「On Error GoTo」と「Exit Sub」
第62回.「On Error Resume Next」とErrオブジェクト
第63回.ブックを開く(Open)
第64回.ブックを閉じる・保存(Close,Save,SaveAs)
第65回.シートの挿入、名前の変更(Add,Name)
第66回.シートのコピー・移動・削除Copy,Move,Delete)
第67回.総合練習問題7

ここまではVBA入門として最低限の基本になります。
基本とはいえ、ここまで習得出来ればかなりExcel VBAを書けるようになっているはずです。

VBEの基本的使い方:マクロVBA入門

VBAプログラミングの基本:マクロVBA入門

このあたりで、VBAプログラミングの基本を見ておくと良いでしょう。
以下はVBA入門シリーズとは別記事です、拾い読みで良いでしょう。

Excel各種機能とオブジェクトの理解:マクロVBA入門

ここからは、入門・初級から中級レベルに進むためのVBA知識の習得になります。
オブジェクト・プロパティ・メソッドといったプログラミングの専門用語が頻繁に出てきます。
言葉の定義にとらわれず、一つ一つがなにを意味しているのか全体像を把握するようにしてください。
また、Excelの各種機能に該当するVBAコードについては、暗記する必要はありません。
必要な時に直ぐに調べられるように、一通り見ておく事が重要です。

第68回.シートの保護、ブックの保護(Protect)
第69回.シートの非表示(Visible)
第70回.ウィンド枠の固定(FreezePanes)
第71回.印刷(PrintOut)
第72回.印刷プレビュー(PrintPreview)
第73回.ページ設定(PageSetup)
第74回.ファイルを開くダイアログ(GetOpenFilename)
第75回.名前を付けて保存ダイア(GetSaveAsFilename)
第76回.ファイルダイアログ(FileDialog)
第77回.組み込みダイアログ(Dialogs,xlDialogPrint)
第78回.総合練習問題8

第79回.ファイル操作Ⅰ(Dir)
第80回.ファイル操作Ⅰ(その他)
第81回.総合練習問題9


第82回.RangeのResizeプロパティ
第83回.RangeのOffsetプロパティ
第84回.RangeのAddressプロパティ
第85回.結合セルの扱い
第86回.総合練習問題10

第87回.WorksheetFunction(ワークシート関数を使う)
第88回.並べ替え(Sort)
第89回.オートフィルタ(AutoFilter)
第90回.フィルタオプションの設定(AdvancedFilter)
第91回.条件付き書式(FormatCondition)
第126回.入力規則(Validation) ・・・ 後日追加
第92回.名前定義(Names)
第93回.ピボットテーブル(PivotTable)
第94回.コメント(Comment)
第95回.ハイパーリンク(Hyperlink)
第96回.グラフ(Chart)
第97回.図形オートシェイプ(Shape)
第98回.Findメソッド(Find,FindNext,FindPrevious)
第99回.Replaceメソッド(置換)
第132回.その他のExcel機能(グループ化、重複の削除、オートフィル等) ・・・ 後日追加

エクセルのオブジェクトはとても複雑です。
オブジェクトのどのプロパティを設定すれば望みの状態にできるかを調べるのはかなり大変です。
オブジェクトの探索方法|マクロVBA技術解説

Applicationの便利メソッドとプロシードャー分割:マクロVBA入門

配列、ファイル操作、VBA拡張機能:マクロVBA入門

VBA入門の追加記事(イベント、レジストリ、テーブル):マクロVBA入門

一度完結したのですが、ここまでで漏れている内容がありました。
そこで、他のシリーズではなく、ここに記載しておいた方が良いと思うものを追加しました。

第124回.Workbookのイベントプロシージャー
第125回.Worksheetのイベントプロシージャー
第126回.入力規則(Validation)
第127回.他のブックのマクロを実行(Runメソッド)
第128回.マクロをショートカットで起動(OnKeyメソッド)
第129回.レジストリの操作(SaveSetting,GetSetting,GetAllSettings,DeleteSetting)
第130回.テーブル操作の概要(ListObject)
第131回.テーブル操作のVBAコード(ListObject)
第132回.その他のExcel機能(グループ化、重複削除、オートフィル等)
第133回.引数の数を可変にできるパラメーター配列(ParamArray)
第134回.Errオブジェクトとユーザー定義エラー

以上で、「ExcelマクロVBA入門」は完了です。(必要があれば今後も追加しますが)
全てを暗記することは困難ですし、その必要もありません。
マクロVBA開発の実務で不明な事がでてきたら、このページを検索して復習すれば良いことです。
一度学習したことは、案外簡単に思い出せるものです。


VBA入門後の学習について:マクロVBA入門

復習したい人は、練習問題で確認しつつ
途中でくじけてしまった人は、実践重視で VBAエキスパートを受験する人は、参考書として
ここでの学習が終了したら、もうVBAのエキスパートと言ってよいでしょう。
分からない事があったら以下で調べながら自分で解決できるはずです。

VBAリファレンス
Excelユーザーフォーム入門
マクロVBA技術解説
マクロVBAサンプル集

VBAクラス入門




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

CSVの読み込み方法(ジャグ配列)(改)|VBAサンプル集(11月11日)
VBAでのCSVの扱い方まとめ|VBAサンプル集(11月9日)
VBAにおける変数のメモリアドレスについて|VBA技術解説(11月8日)
空文字列の扱い方と処理速度について(""とvbNullString)|VBA技術解説(1月7日)
Errオブジェクトとユーザー定義エラー|VBA入門(11月5日)
シングルクォートの削除とコピー(PrefixCharacter)|VBA技術解説(11月4日)
ユーザー定義型の制限とクラスとの使い分け|VBA技術解説(11月3日)
クリップボードに2次元配列を作成してシートに貼り付ける|VBA技術解説(11月1日)
VBAクラスを使ったイベント作成(Event,RaiseEvent,WithEvents)|VBA技術解説(10月31日)
VBAクラスのAttributeについて(既定メンバーとFor Each)|VBA技術解説(10月19日)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|ExcelマクロVBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.変数宣言のDimとデータ型|ExcelマクロVBA入門
6.繰り返し処理(For Next)|ExcelマクロVBA入門
7.マクロって何?VBAって何?|ExcelマクロVBA入門
8.ひらがな⇔カタカナの変換|エクセル基本操作
9.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説
10.セルに文字を入れるとは(Range,Value)|VBA入門



  • >
  • >
  • ExcelマクロVBA入門

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


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




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