Excelマクロの記録で覚えるVBA
マクロの記録で覚えるVBA

Excelマクロの自動記録を使って、エクセルVBAの初心者向け入門解説
最終更新日:2013-02-18

マクロの記録で覚えるVBA


新シリーズとして、「マクロの記録で覚えるVBA」を開始します。

マクロは、エクセルの機能の一つです。

マクロとは、一般用語では、巨大な塊等を指しますが、

パソコンでは、あらかじめ登録されている操作の手順の塊を指します。

そして、エクセルのマクロの内部での記述言語をVBA(Visual Basic For Application)と呼びます。

つまり、VBAで記述された塊が、マクロになります。

従って、マクロを覚えると言う事は、言語としてのVBAを覚えると言う事になります。

VBAは言語ですから、その言葉を覚えなければ使う事ができません。

英語の習得と同じです。

学校では、英語は文法から教える事が多いはずです。(あれっ、最近は違うかな?)

従って、マクロを覚えるには、VBAの文法から教える事が多くなります。

でも、ここまで聞いて、ヤダーって人もいますよね。

私も英文法は嫌いです(笑)

仕方ないので、会話の勉強から始めましょう。

まずは、エクセルとVBA言語を通して、会話することから始めます。

文法は、その都度覚えればよいでしょう。

難しい用語も、徐々に覚えて行きましょう。

しかし、最終的には、正しい文法を身につけ、用語も正しく使える必要があります

質問をする場合、正しい用語を使用しないと、相手に質問を正しく伝える事ができないのです。

ですから、まずはエクセルと会話しながら、少しづつ文法と用語を覚えて行きましょう。

以上の趣旨で、マクロの解説を試みます。

その為の手段として、エクセルの「マクロの記録」を使用します。

「マクロの記録」は、エクセルでの操作をVBAで自動記録してくれます。

言わば、VBA翻訳機です。

これを足がかりに、言語としてのVBAを理解していき、

最終的には、翻訳機無しでもエクセルと会話出来る事を目指します。

また、VBA言語では、同じ事をするにも、いろいろな書き方があります。

言語ですから、表現のバリエーションは複数存在します。

どうしても、いろいろな表現方法を紹介したくなりますが、

当初は、なるべく1つの表現方法のみ紹介し、

初心者の方が混乱しないように注意するつもりです。

内容的に、初心者専用になります。

従って、ゆったりしたペースで、なるべく毎日、少しづつ・・・進めていきます。





同じテーマ「Excelマクロの記録で覚えるVBA」の記事

マクロの記録で覚えるVBA
第1回.マクロを記録して実行

さっそくはじめましょう、でも、始める前に、エクセル2007、2010の場合は、「開発」タプを表示しておきましょう。「オフィスボタン」→「Excelのオプション」→「基本設定」で、「開発」タブをリボンに表示する、にチェックを付けます。これで、リボンの最後に、「開発」が表示されます。
第2回.セルに文字を入れる
前回の復習ちゃんとやりましたか(笑) もう一度だけ書きますこれでお終いです覚えて下さい。では前回作成したマクロの中身をみてみましょう。SubMacro1()''Macro1Macro' 'ActiveCell.FormulaR1C1= "マクロの記録で覚えるVBA"ActiveCell.Characters(5,
第3回.複数セルに文字を入れる
前回作成したマクロです。さて、おそらく誰でも思う事は、1行で書けないのかってことだと思います。書けます!Range("A3").Selectは、セルA3を選択し、アクティブにしています。そして、ActiveCell.… つまり、ここでのアクティブセルとは、A3になる訳です。
第4回.連続数値を入れる
さて前回まででセルに文字をいれることが出来ました。今回はセルに連番を入れて見ましょう。行番号として1234…のように入れてみます。まず準備として以下をやって下さい。1.エクセルを起動する 2.VBE(VisualBasicEditor)を起動する 3.「ツール」→「オプション」「変数の宣言を強制する」にチェックする 4.「OK」以上で準備OKです。
第5回.100マスに数値を入れる
まずは、前回の宿題の回答です。縦に入れた時の、この部分を Cells(i,1)=i Cells(1,i)=iこのように、行数と列数を入れ替えます。これで横に1~10が入ります。では次は、縦10、横10のセルに、1~100までを入れてみましょう。
第6回.別のシートにコピーする
前回作成した100マスを別のシートにコピーしてみましょう。ここでは、「Sheet1」に100マスがあり、それを「Sheet2」へコピーします。いまは、「Sheet1」が開いていて、セルA1がアクティブになっています。
第7回.別のシートにコピーする2
前回は、値の貼り付けを「マクロの記録」で行い、そのマクロを修正しました。以下になります。今回は、同じ事を「.COPY」を使わずにやってみましょう。そもそも、これは何をしているかと言うと、「.COPY」で、セルをクリップボードに入れ、クリップボードの値のみセルに入れています。
第8回.計算式を入れる
前回までは、セルに文字を入れました。エクセルは表計算ソフトですから、計算式を入れたいですよね。今回からは、計算式を入れる方法、その値をコピーする方法等の説明になります。では、以下のようなシートを作成して下さい。
第9回.計算式をコピーする
前回作成した100マス計算を、別シートにコピーしてみましょう。第6回、第7回の内容とほぼ同様になります。エクセルVBAでは、このシート間のデータコピーが最もよく行われる事の1つであり、VBAの基本でもあります。
第10回.計算結果を入れる
前回作成した100マス計算の回答部分を、マクロで計算して入れてみましょう。従って、マクロの記録は使いません。タイトルと違うね(笑)、でもね、マクロの記録では出来ない事が多いのです。だから、VBAを覚える必要があるのです。


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

Byte配列と文字コード関数について|VBA技術解説(8月20日)
PowerQueryの強力な機能をVBAから利用する方法|VBA技術解説(8月4日)
練習問題31(セル結合を解除して値を埋める)|VBA練習問題(7月30日)
練習問題30(マトリックス→リスト形式)|VBA練習問題(7月25日)
Applicationを省略できるApplicationのメソッド・プロパティ一覧|VBA技術解説(7月22日)
コレクション(Collection)の並べ替え(Sort)に対応するクラス|VBA技術解説(7月20日)
CSVの読み込み方法(ジャグ配列)|VBAサンプル集(7月15日)
その他のExcel機能(グループ化、重複の削除、オートフィル等)|VBA入門(7月14日)
オートフィルタ退避回復クラスを複数シート対応させるVBAクラス|VBA技術解説(7月6日)
オートフィルタを退避回復するVBAクラス|VBA技術解説(7月6日)


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

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.セルに文字を入れるとは(Range,Value)|VBA入門
9.ひらがな⇔カタカナの変換|エクセル基本操作
10.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説



  • >
  • >
  • >
  • マクロの記録で覚えるVBA

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


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




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