ExcelマクロVBA再入門 | 第15回.手作業で出来なければマクロは書けない | マクロが覚えられないという初心者向けに理屈抜きのやさしい解説



最終更新日:2015-09-25

第15回.手作業で出来なければマクロは書けない


エクセルの基本は、シート上で効率よく速やかに関数と機能を使い目的の出力を得る事です、

マクロVBAは、この手作業を自動化するものであり、決して特別なものではありません、

まずは手作業でやってみて、それをVBAコードにするという手順が重要です。

もちろん、手作業で出来ない事でもマクロVBAで出来ることもありますが、それはむしろ極一部の事です。


マクロVBAを書き始める前に、事前に手作業でやってみることで、やるべき内容の整理と確認ができて、マクロVBAを書くときに混乱しなくなります。

For〜Nextで処理すれば良いような場合は、1行だけで良いので手作業でやってみる事です。

そもそも、

手作業でできない事を、マクロVBAで書ける訳がありません。
日本語で説明できない事を、マクロVBAで書ける訳がありません


もっと根本的な話をすれば、人は知らない事はやりません。
少なくとも、出来るかもしれないという考えがあって初めて挑戦するものです。

だからこそ、エクセルにどんな機能があるかを知らなければマクロVBAを書けるはずがないのです。

マクロVBAで自動化するなら、

・エクセルの機能を知る
・手作業でやってみる
・マクロの記録でVBAコードを調べる
・マクロVBAをかいてみる


この手順が必要です。

■エクセルの機能を知る

以下のダイアログ画面は、
各タブを開いて、それぞれの機能は十分に理解しておいてください。













これらの各ダイアログで出来る事を知っていれば、
後は、マクロの記録でVBAコードは調べられます。

例えば、以下の表をマクロで作成した後、
列幅を調整しようとしたとき、



考え方が何通りかあります。

・5列とも同一の固定幅にする
・データの最長幅に自動で合わせる
・見出し文字の幅に合わせる


この3通りのマクロVBAが書けるでしょうか・・・
これを、書籍・ネットで調べていたら、時間がいくらあっても足りません。
手作業で出来れは、マクロの記録で一発です。

・5列とも同一の固定幅にする


・データの最長幅に自動で合わせる


この状態で、ダブルクリック
または、「ホーム」→「書式」→「列の幅の自動調整」

・見出し文字の幅に合わせる


この状態で、「ホーム」→「書式」→「列の幅の自動調整」

それぞれ、以下のような、マクロの記録となります。


VBAコードは簡単なもので、マクロの記録で簡単に調べられます。
しかし、操作方法を知らなければ、これらを調べるのはとても時間がかかり困難な事になります。


■ワークシート関数を知る

エクセルには、豊富なワークシート関数があります。
この関数を活用しないと、無駄なマクロVBAを書くことになります。

以下の表で、出席者の数をメッセージボックスに表示するとして、



もし、COUNTIF関数を知らないと、



COUNTIF関数を知っていれば、



もちろん、色々な条件により、前者のようなVBAコードを書いた方が良い場合もないことはありませんが、
少なくとも、今回の例の場合は無駄以外の何物でもありません。
同様に、

MATCH関数を知らなかったら・・・
VLOOKUP関数を知らなかったら・・・

これらと同じ機能をVBAで書こうとしたら、大変だという事は説明が要らないでしょう。


手作業でやってみることで、
処理内容の整理と確認になります。
結果として、
効率的なマクロVBAコードの記述につながります。





同じテーマ「マクロVBA再入門」の記事

第12回.エクセルの言葉を理解する(オブジェクト、プロパティ、メソッド)
第13回.セルのコピペ方法を知る(CopyとPaste、さらに)
第14回.セルの書式を設定する(NumberFormatLocal,Font,Barders,Interior)
第15回.手作業で出来なければマクロは書けない
第16回.エクセルの機能を上手に使う
第17回.セルにブック・シートを指定する(Workbooks,Worksheets,With,Set)
第18回.シートをコピー・挿入・削除する(Worksheets,Copy,Add,Delete)
第19回.ブックを開く・閉じる・保存する(Workbooks,Open,Close,Save,SaveAs)
第20回.全てのシートに同じ事をする(For〜Worksheets.Count)
第21回.ファイル一覧を取得する(Do〜LoopとDir関数)
第22回.複数ブックよりデータを集める

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

エクセルVBAでのシート指定方法|VBA技術解説(9月8日)
VBAのクラスとは(Class,Property,Get,Let,Set)|VBA技術解説(8月28日)
VBAこれだけは覚えておきたい必須基本例文10|VBA技術解説(8月22日)
VBAの省略可能な記述について|ExcelマクロVBA技術解説(8月11日)
複数条件判定を行う時のコツ|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日)

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

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.変数とデータ型(Dim)|ExcelマクロVBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.RangeとCellsの使い方|ExcelマクロVBA入門
6.定数と型宣言文字(Const)|ExcelマクロVBA入門
7.マクロって何?VBAって何?|ExcelマクロVBA入門
8.とにかく書いて見よう(Sub,End Sub)|VBA入門
9.繰り返し処理(For Next)|ExcelマクロVBA入門
10.ひらがな⇔カタカナの変換|エクセル基本操作



  • >
  • >
  • >
  • 手作業で出来なければマクロは書けない

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


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





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

    本文下部へ

    ↑ PAGE TOP