エクセルの神髄
ExcelマクロVBAの基礎を学習する方法

ExcelマクロVBAのの習得方法とその範囲についてのガイド
公開日:2013年5月以前 最終更新日:2024-03-06

ExcelマクロVBAの基礎を学習する方法


ExcelマクロVBAの基礎を学習する方法、マスターする道順について。


ExcelマクロVBAは非常に便利です、
手作業では、数時間・数日かかる処理が、ほんの一瞬で処理できてしまいます。
ただし、マクロVBAを書く為に、相応の時間はかかりますが、
それでも、そのマクロVBAを書く時間は一度きりです。
二度目からはマクロを実行するだけになります。

しかし、マクロVBAは一朝一夕で覚えられるものではありません。
マクロVBAはプログラミング言語です。
言語としての文法を覚える事は必須ですし、プログラミングの技術習得も必須になります。
ただし、そんなに構える必要もなく、
エクセルには、マクロ自動記録という便利な機能もあります。
文法の勉強とマクロ自動記録をうまく使って学習を進める事もできます。

まずは、基本的な使い方からになります。
とにかく、マクロを書いて動かす事から始めます。

Excelマクロ再入門は、マクロVBA入門でくじけた人向けに後から書いたのですが、
むしろ、このExcelマクロ再入門から始めた方がよいでしょう。
まずは、マクロを書くことに慣れてください。

準備
第1回.マクロを書く準備をする

第2回.マクロを書いて動かす

セルを扱う
第3回.セルに数字や文字を入れる
第4回.セルの値を使って計算する
第5回.同じ計算を行数分繰り返す
第6回.表の先頭から最終行まで繰り返す
第7回.セルの値で計算を変える
第8回.表範囲をまとめて消去する

エクセルの便利機能
第9回.関数という便利な道具
第10回.ワークシートの関数を使う
第11回.分からない事はエクセルに聞く
第12回.エクセルの言葉を理解する
第13回.セルのコピペ方法を知る
第14回.セルの書式を設定する
第15回.手作業で出来なければマクロは書けない
第16回.エクセルの機能を上手に使う

ブック・シートを扱う
第17回.セルにブック・シートを指定する
第18回.シートをコピー・挿入・削除する
第19回.ブックを開く・閉じる・保存する
第20回.全てのシートに同じ事をする
第21回.ファイル一覧を取得する
第22回.複数ブックよりデータを集める

マクロ全体を最適化する
第23回.複数のプロシージャーを連続で動かす
第24回.マクロの呪文を追加してボタンに登録

自動化への道 ・・・ ここは飛ばして次に進んでも構いません。
第25回.月別ブックより部署別シートに担当別に集計するNo1
第26回.月別ブックより部署別シートに担当別に集計するNo2
第27回.月別ブックより部署別シートに担当別に集計するNo3
第28回.月別ブックより部署別シートに担当別に集計するNo4
第29回.月別ブックより部署別シートに担当別に集計するNo5


マクロVBAを書くことに慣れたら、再度基礎から見直してみましょう。

さて、基本的な使い方が分かったら、
いよいよ、文法のお勉強です。
勉強は、ちょっとつらいですけど、くじけずに続けてください。

基本文法の習得は、多少つまらないかもしれません。
また、難しく、続ける自信がなくなるかもしれません。
そこで、ちょっと雰囲気を変えて、
マクロの自動記録を使ってみましょう。

実は、ここまででも、相当な事ができるのです。
ここまでのマクロVBAで、業務の大部分を自動化できます。
しかし、やはりそれでもまだまだ出来ない事も多いでしょう。
覚えるべきマクロVBAは、まだまだあります。

今後の学習をスムーズに進めるためにVBEの使い方とデバッグについて詳しく見ておきましょう。

ここまで来れば、やりたいことを、それなりに書けるようになっているはずです。
このあたりで、プログラミングの基本を見ておくと良いでしょう。

ここからは、
・VBAの便利機能
・Excelの各種機能
これらを使えるようになっていきましょう。
オブジェクトについて少しずつ理解を深めていきましょう。
ここは内容も多いので、あまりりじっくりやるより、さっと何ができるのかを知る程度に読み進めれば良いです。

オブジェクト式について
第51回.Withステートメント
第52回.オブジェクト変数
第53回.Workbookオブジェクト
第54回.Windowオブジェクト
第55回.Worksheetオブジェクト
第56回.Rangeオブジェクト
第57回.Applicationのプロパティ
第58回.コレクションとは
第59回.コレクション処理(For Each)
第60回.エラー処理(On Error)
第61回.「On Error Go To」と「Exit Sub」
第62回.「On Error Resume Next」とErrオブジェクト
第63回.ブックを開く
第64回.ブックを閉じる・保存
第65回.シートの追加、名前の変更
第66回.シートのコピー・移動・削除
第67回.総合練習問題7
第68回.シートの保護
第69回.シートの非表示
第70回.ウィンド枠の固定
第71回.印刷
第72回.印刷プレビュー
第139回.エクスポート(PDF/XPS)
第73回.ページ設定
第74回.ファイルを開くダイアログ
第75回.名前を付けて保存ダイアログ
第76回.ファイルダイアログ
第77回.組み込みダイアログ
第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)
第136回.フォームコントロール ・・・ 後日追加
第137回.ActiveXコントロール ・・・ 後日追加
第98回.Findメソッド
第99回.Replaceメソッド
第132回.その他のExcel機能(グループ化、重複の削除、オートフィル等)
第135回.ジャンプの選択オプション(SpecialCells)
第141回.行・列の表示・非表示(Hidden)


マクロVBA学習も大詰め、最後の仕上げとして、
まずはプロシージャー分割について学びましょう。

やはり配列についてはしっかり覚えたほうが良いでしょう。

第111回.静的配列
第112回.動的配列
第113回.配列に関連する関数
第114回.セル範囲⇔配列
第115回.Split関数
配列の使い方について|VBA技術解説
VBAの配列まとめ(静的配列、動的配列)|VBA技術解説

マクロVBAが遅くて処理時間がかかると言った場合は、配列で対処することになります。
そんな時は以下のページを参考に対処してください。

続けて、
Applicationの便利メソッド
ファイル操作
VBA拡張機能
もう少しで、入門編は卒業になります。


これだけマスターすれば、マクロ使いと呼ばれるようになるでしょう。
ここまでのExcelマクロVBAの学習の復習として、

さらに学習成果の腕試しとしても、
就職・転職にも有利な資格にチャレンジしてみるのも非常に良いでしょう。

VBAの特訓をしたい人は、挑戦してみてください。
ツイッター連動企画です。

筆者の独断と偏見で、エクセルVBAのスキルに段級位をつけてみました。
それぞれの段級位における習得技術を一覧にしたものです。

さらに高度なことをしたくなったら、
Windowsのいろいろな機能を使っていくと、VBAでも色々なことができるようになります。

さて、マクロVBAをやっていれば、必ずやりたくなることが出てきます。
それは、ユーザーフォームの作成です。
まさに、自分独自のアプリケーションの作成です。

ユーザーフォームが作成できれば、
ある意味何でも作れるようになります。
もう、ここまでくれば、後は実践で数をこなすだけです。
いろいろな難題を解決しつつスキルアップしていってください。

少し特殊な技術になりますが、
CSV等のテキストデータの扱いや、
WEBデータの取得が必要になる事もあるでしょう。

この先にも、マクロVBAで出来る事は、まだまだあります。
例えば、

ここは、既にエクセルそのものではないですが、
マクロVBAでも、やる気になれば大抵の事はできるのです。


さらにVBAを覚えて、いろいろ作りながらネットで調べたりしていると、
クラスやらオブジェクト指向やらという言葉に出くわします。
クラスを覚えると、VBAの書き方ががらりと変わってくるでしょう。

これから、いや、今こそ、プログラミング技術は必須技術です。
そのプログラミングの入門としては、VBAは最適だといって良いでしょう。
入り易さ・応用のし易さ・用途の広さ
ExcelマクロVBAは使えた方が間違いなく良いです。
コンピューターなしに現代は成り立ちません。
そのコンピューターを自在に使いこなす事こそが、
プログラミングなのです。


★エクセルを習得する方法と範囲★




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

VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
累計を求める数式あれこれ|エクセル関数応用(2024-01-22)
複数の文字列を検索して置換するSUBSTITUTE|エクセル入門(2024-01-03)
いくつかの数式の計算中にリソース不足になりました。|エクセル雑感(2023-12-28)
VBAでクリップボードへ文字列を送信・取得する3つの方法|VBA技術解説(2023-12-07)
難しい数式とは何か?|エクセル雑感(2023-12-07)
スピらない スピル数式 スピらせる|エクセル雑感(2023-12-06)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.変数宣言のDimとデータ型|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.並べ替え(Sort)|VBA入門
8.条件分岐(IF)|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.マクロとは?VBAとは?VBAでできること|VBA入門




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


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



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