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

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

マクロの記録で覚えるVBA


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

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

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

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

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

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

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

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

英語の習得と同じです。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

言わば、VBA翻訳機です。

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

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

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

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

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

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

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

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

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





同じテーマ「マクロの記録でVBA」の記事

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

さっそくはじめましょう、でも、始める前に、エクセル2007、2010の場合は、「開発」タプを表示しておきましょう。「オフィスボタン」→「Excelのオプション」→「基本設定」で、「開発」タブをリボンに表示する、にチェックを付けます。これで、リボンの最後に、「開発」が表示されます。
第2回.セルに文字を入れる
前回の復習、ちゃんとやりましたか(笑) もう一度だけ書きます、これでお終いです、覚えて下さい。では、前回作成したマクロの中身をみてみましょう。SubMacro1()''Macro1Macro' 'ActiveCell.FormulaR1C1= "マクロの記録で覚えるVBA"ActiveCell.Characters(5,
第3回.複数セルに文字を入れる
前回作成したマクロです。さて、おそらく誰でも思う事は、1行で書けないのかってことだと思います。書けます!Range("A3").Selectは、セルA3を選択し、アクティブにしています。そして、ActiveCell.… つまり、ここでのアクティブセルとは、A3になる訳です。
第4回.連続数値を入れる
さて、前回までで、セルに文字をいれることが出来ました。今回は、セルに連番を入れて見ましょう。行番号として、1、2、3、4…のように入れてみます。まず、準備として、以下をやって下さい。1.エクセルを起動する 2.VBE(VisualBasicEditor)を起動する 3.「ツール」→「オプション」「変数の宣言を強制する」にチェックする 4.「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 ・・・新着記事一覧を見る

VBAのインデントについて|VBA技術解説(7月15日)
「VBA Match関数の限界」についての誤解|エクセル雑感(7月15日)
省略可能なVariant引数の参照不可をラップ関数で利用|VBA技術解説(7月12日)
100桁の正の整数値の足し算|エクセル雑感(7月9日)
LSetとユーザー定義型のコピー(100桁の足し算)|VBA技術解説(7月9日)
Variant仮引数のByRefとByValの挙動違い|エクセル雑感(7月5日)
Variant仮引数にRange.Valueを配列で渡す方法|エクセル雑感(7月5日)
Variantの数値型と文字列型の比較|エクセル雑感(7月1日)
VBAのVariant型について|VBA技術解説(6月30日)
VBAのString型の最大文字数について|エクセル雑感(6月20日)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.マクロって何?VBAって何?|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
7.繰り返し処理(For Next)|VBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.とにかく書いてみよう(Sub,End Sub)|VBA入門
10.マクロはどこに書くの(VBEの起動)|VBA入門




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


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



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