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

ExcelマクロVBAのの習得方法とその範囲についてのガイド
最終更新日:2020-01-08

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


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


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

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

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

本来は、マクロ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は、まだまだあります。


今後の学習をスムーズに勧めるためにデバッグについて確認しておきましょう。


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


ここからは、
・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回.ジャンプの選択オプション


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

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

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


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

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


是非、取り組んでみて下さい。
内容的にはここまでの応用になりますが、
こんなものも作成できると便利です。


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


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


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


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


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

Shellで他のプログラムを起動
外部オブジェクトの利用
Windows API を使用
SQLを覚えてデータベースとの接続


ここは、既にエクセルそのものではないですが、
マクロVBAでも、やる気になれば大抵の事はできるのです。
マクロVBAの技術を総結集すれば、
以下のようなアプリも、自分で作って行けるようになります。


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


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


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



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

VBAで写真の撮影日時や音楽動画の長さを取得する|VBA技術解説(1月10日)
ツイッターで出されたVBAのお題をやってみた|エクセル雑感(1月13日)
イベントプロシージャーの共通化(Enter,Exit)|ユーザーフォーム入門(1月13日)
Rangeオブジェクトの論理演算(差集合と排他的論理和)|VBA技術解説(1月10日)
イベントプロシージャーの共通化|ユーザーフォーム入門(1月7日)
コントロールの動的作成|ユーザーフォーム入門(1月6日)
Evaluateメソッド(文字列の数式を実行します)|VBA技術解説(1月5日)
エクスポート(PDF/XPS)|VBA入門(1月2日)
分析関数(OVER句,WINDOW句)|SQL入門(12月25日)
取得行数を限定するLIMIT句|SQL入門(12月21日)


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

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




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


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



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