マクロとは (mm0831)
マクロとは何か、わかりやすく説明します
(1) マクロとは
マクロは命令を羅列して一連の動作をさせるためのもので、一種のプログラム言語です
-
マクロは一種のプログラム言語です
-
プログラムは下のように[命令]を羅列して問題を解決するためのものです
-
セルC3に 300 と入力しなさい
-
セルC4に 400 と入力しなさい
-
セルC5に 500 と入力しなさい
-
セルC6に 600 と入力しなさい
-
セルC7に =SUM(C3:C6) と入力しなさい
-
このように[命令]を上から下に順々に書きます
-
上から順々に実行する他に、上に戻って同じことを繰り返したり、
条件によって分岐して違う作業をすることなどができます
-
このように、いろいろな命令を書いて、毎月月末に作成する複雑な表を
ボタンひとつで作成できたりするのです
- 参考ページ
(2) マクロとVBAの違い
-
マクロとVBAは同じ ことを指すと考えてかまいません
-
Excel5.0以前はマクロと呼ばれていました
-
Excel5.0からVBAが搭載され、以後Office全般で共通の操作言語として
VBAを使う方向へ進んできました
(3) マクロの自動記録
-
エクセルには便利な マクロの自動記録 機能があります
-
ユーザーがマクロをどんどん作ることができる優れものです
-
MS-Accessにはこの自動記録機能はいまだに搭載されていません
-
Sheet1を選択します
-
記録を始める前にもし準備すべきことがあればしておきます
-
マクロ記録の開始
-
Excel2007:シート名の下にあるコマンド[マクロの記録は...]をクリックします
-
Excel2003:[ツール(T)]→[マクロ(M)]→[新しいマクロの記録(R)...]を選択します
-
[マクロの記録]ダイアログが表示されたら、マクロ名を確認します
だいたいMacro1とかMacro2になります
-
[OK]ボタンを押します
-
○これで記録が始まりました(テープレコーダの録音ボタンを押した状態)
-
セルC3をクリックして 300 と入力して[Ent]キーを押します
-
セルC4が選択されているのを確認して 400 と入力して[Ent]キーを押します
-
セルC5が選択されているのを確認して 500 と入力して[Ent]キーを押します
-
セルC6が選択されているのを確認して 600 と入力して[Ent]キーを押します
-
セルC7が選択されているのを確認して =SUM(C3:C6) と入力して
[Ent]キーを押します
-
マクロ記録の停止
-
Excel2007:シート名の下にあるコマンド[マクロの記録を実行中です...]をクリックします
-
Excel2003:記録終了のツールバーで記録終了ボタンを押します
-
○これで記録が終わりました(テープレコーダの停止ボタンを押した状態)
(4) 自動記録されたマクロを見てみましょう
-
VBEの世界へ
-
Excel2007:[開発]タブ→[コード]グループ→[マクロ]を選択します
-
Excel2003:ワークシート側から[ツール(T)]→[マクロ(M)]→
[Visual Basic Editor(V)]を選択します
-
左側にあるプロジェクトエクスプローラのVBAProject(Book1)の
[標準モジュール]をダブルクリックすると、Module1が見えてきます
-
もしプロジェクトエクスプローラが見当たらない場合は
[表示(V)]メニュー→[プロジェクトエクスプローラ(P)]を選択します
-
そのModule1をダブルクリックしすると、画面の右側に下のようなコードが
表示されます
Sub Macro2()
' Macro2 Macro
' マクロ記録日 : 2004/8/30 ユーザー名 : kazu
Range("C3").Select
ActiveCell.FormulaR1C1 = "100"
Range("C4").Select
ActiveCell.FormulaR1C1 = "200"
Range("C5").Select
ActiveCell.FormulaR1C1 = "300"
Range("C6").Select
ActiveCell.FormulaR1C1 = "400"
Range("C7").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-4]C:R[-1]C)"
Range("C8").Select
End Sub
-
=SUM(R[-4]C:R[-1]C) の意味:
-
自分が居る位置セル C7 から見て、4行前から1行前までの範囲の
同じ列の合計を求めなさい
-
ワークシート側に戻るには
[ファイル(F)]メニュー→[終了してMicrosoft Excelに戻る(C)]を選択します
(5) 記録したマクロを動かしてみましょう
-
同じSheet1ではわかりにくいのでSheet2を選択します
-
マクロの呼び出し
-
Excel2007:ワークシート側から[開発]タブ→[コード]グループ→
[Visual Basic]を選択します
-
Excel2003:ワークシート側から[ツール(T)]→[マクロ(M)]→
[マクロ(M)...]を選択します
-
[マクロ]ダイアログが表示されます、マクロ名の一覧の中に自分が記録した
マクロがあるはずです。それを選択します
-
[実行(R)]ボタンを押します
-
これで記録した作業と同じことがマクロで実行できたことになります
-
このようにマクロの記録だけでも人間が行っていた作業を自動化することができます
-
条件分岐のように、マクロの自動記録では記録できない要素もあります、
その場合、自分でVBAコードを書くことになります
参考サイト
2020/08/12:更新 2004/08/31:登録 訪問者: