第 1 章 Excel のマクロ 機 能 VBA とは VBA(Visual Basic for Applications)は,Microsoft 社 の Word や Excel など,Microsoft Office ア プリケーションで 共 通 に 利 用 できるプログラミング 言 語 です. 例 えば Excel のようなアプリケーション で 作 成 された VBA プログラムは,そのアプリケーションのデータと 一 緒 にファイルの 一 部 として 格 納 されます. 一 般 にこのようなプログラムはマクロと 呼 ばれます.つまり,VBA は Microsoft Office アプ リケーションのマクロを 作 成 できるマクロ 言 語 です. VBA を 使 って,Excel や Access などを 使 用 した 定 型 業 務 を 自 動 化 するマクロを 作 成 することができ ます.マクロはアプリケーションの 起 動 時 または 起 動 後 に 実 行 されます. 作 成 されたマクロは,いつで も 呼 び 出 して 実 行 することができるので, 処 理 の 自 動 化 効 率 化 を 実 現 する 上 で 重 要 な 機 能 だといえま す.また VBA を 使 って 新 しい 関 数 を 作 成 する,ボタンの 配 置 や 独 自 のフォームを 作 成 することで, アプリケーションの 機 能 をカスタマイズ( 用 途 に 合 せてあつらえる, 注 文 製 品 化 する)することも 可 能 です. Microsoft Office アプリケーションには VBA 用 の 開 発 環 境 や 実 行 環 境 が 付 属 しているため, 誰 でも 手 軽 にプログラミングを 始 めることができます. 1. [ファイル] タブの [オプション] を 選 択 して [Excel のオプション] ダイアログ ボックスを 表 示 します ( 注 :Excel2007 では [ファイル] タブに 代 わりに [Office ボタン]のメニューで[Excel のオプション]を 選 ぶ ) 2. ダイアログ ボックスの 左 側 にある [リボンのユーザー 設 定 ] をクリックします 3. ダイアログ ボックスの 左 側 にある [コマンドの 選 択 ] で [ 基 本 的 なコマンド] を 選 択 します 4. ダイアログ ボックスの 右 側 にある [リボンのユーザー 設 定 (B)] で [メイン タブ] を 選 択 し 次 にタグ 名 の 一 覧 で[ 開 発 ] のチェック ボックスをオンにします 5. [OK] をクリックします Excel で [ 開 発 ] タブ( 図 1)が 表 示 されたら そのタブの[コード]クループにある [Visual Basic],[マ クロ],[マクロの 記 録 ],[マクロのセキュリティ] の 各 ボタンの 位 置 を 確 認 してください 図 1. Excel 2010 での [ 開 発 ] タブ 第 1 章 では,Excel のマクロ 機 能 の 使 い 方 として, 必 要 な 準 備,マクロの 記 録 からマクロの 実 行 まで を 学 びます. 注 :VBA は, 同 社 の Visual Basic(VB)から 派 生 した 言 語 であり,Office 2007 までは VB6 系 列 (Office 2010 では,VB7.0 に 更 新 された)の Visual Basic がベースに 採 用 されています.Visual Basic との 大 きな 違 いは,VBA のプログラムはそれが 格 納 されたアプリケーション 内 でしか 実 行 で きないことです. 1. 準 備 Excel のマクロは,VBA(Visual Basic for Applications)というマクロ 言 語 で 記 述 され,プログラムと いう 単 位 でワークシートと 区 別 されて 保 存 されます.VBA で 記 述 されたプログラムを 表 示 したり, 編 集 するには VB エディタ(Visual Basic Editor)を 使 用 します.この VB エディタは 標 準 で Excel にイ ンストールされますが, 多 くのユーザーはリボンでそれが 有 効 になるまで,それを 使 用 できることにさ え 気 付 きません Excel 2013/ 2010/ 2007 の 場 合 Excel 2003 の 場 合 [ 表 示 (V)]メニューから[ツールバー(T)]を 選 び [ツールバー]から[Visual Basic] 選 んで [Visual Basic] ツールバーをワークシート 上 に 表 示 します( 図 2).[Visual Basic]ツールバーはメニューグループのあ る 場 所 に 移 動 して, 他 のよく 使 うメニューと 同 様 に 表 示 しておくこともできます.また,セキュリティ 問 題 に 関 しては Excel2003 の 場 合,マクロが 含 まれていても 既 定 の Excel ファイル 形 式 ( 拡 張 子 は.xls となる) に 保 存 することができます. 注 : 以 下 では 特 に 明 記 しない 限 り 説 明 は Excel2010/2007 の 場 合 です 2.セキュリティの 問 題 [ 開 発 ]タブ Office 2013/2010/2007 では [ 開 発 ] タブは 既 定 では 表 示 されないので 次 の 手 順 を 使 用 して 有 効 に する 必 要 があります ここから VB エディタや 他 の 開 発 ツールにアクセスできます ( 以 下 は MSDN ラ イブラリ> 技 術 記 事 より 引 用 ) [ 開 発 ] タブを 有 効 にするには 実 行 できるマクロと 実 行 の 条 件 を 指 定 するには [マクロのセキュリティ] ボタンをクリックします 悪 質 なマクロ( 本 書 では 単 にコードと 呼 ぶこともある)はコンピューターに 重 大 な 損 傷 を 与 える 可 能 性 がありますが 役 に 立 つマクロの 実 行 を 妨 げるようなセキュリティ 条 件 では 生 産 性 が 大 きく 低 下 してし まいます マクロのセキュリティは 複 雑 ですが Excel マクロを 使 用 する 場 合 は 勉 強 して 理 解 する 必 要 があります この 記 事 に 関 しては マクロを 含 むブックを 開 いたときにリボンとワークシートの 間 に [セキュリテ ィの 警 告 : マクロが 無 効 にされました] というバーが 表 示 される 場 合 は [コンテンツの 有 効 化 ] ボタン をクリックしてマクロを 有 効 にできることを 覚 えておいてください 1 / 11 2 / 11
また セキュリティの 手 段 として マクロを 既 定 の Excel ファイル 形 式 (.xlsx) に 保 存 することはで きません マクロは 特 別 な 拡 張 子.xlsm を 持 つファイルに 保 存 する 必 要 があります Excel 2003 の 場 合 マクロの 記 録 (Excel2003) マクロの 記 録 ボタン( 図 3)をクリックすると マクロの 記 録 ダイアログボックス( 図 4) が 現 れます マクロ 名 は Macro1 のように 自 動 的 に 表 示 されますが ここで 変 更 することもできま す その 他 の 情 報 も 確 認 した 上 で OK ボタンをクリックした 瞬 間 からマクロ 記 録 が 開 始 されます 1. 準 備 にあるように Excel2003 の 場 合,マクロが 含 まれていても 既 定 の Excel ファイル 形 式 ( 拡 張 子 は.xls となる) に 保 存 することができます. 3.マクロの 記 録 と 実 行 図 3 基 本 課 題 1 最 終 エネルギー 消 費 と 総 供 給 一 次 エネルギーおよび 名 目 GDP の 推 移 (1980 年 ~2010 年 )について 参 考 図 のような 一 覧 表 があります 1980 年 を 基 準 として 最 終 エネルギー 消 費 と 名 目 GDP の 変 化 率 を 求 めるまでの 操 作 を Excel の マクロ 記 録 機 能 使 って 記 録 しますで 次 に ワークシートのセル C17 以 下 に 変 化 率 の 表 を 作 成 する 操 作 を 同 様 にマクロに 記 録 する 方 法 について 説 明 します 基 本 課 題 2 上 で 作 成 した 変 化 率 の 表 を 元 に 折 れ 線 グラフを 作 成 する 操 作 をマクロに 記 録 します Visual Basic ツールバー(Excel2003 の 場 合 ) マクロの 記 録 ( 記 録 開 始 及 び 記 録 終 了 )とマクロの 実 行 は Visual Basic ツールバー を 使 って 行 います このツールバーが 見 当 たらないときは 表 示 メニューの ツールバー を 選 択 して Visual Basic のチェックをオン(On)にしてください または ツール メニューの マクロ からもマク ロの 記 録 と 実 行 を 行 うことができます 図 5 図 4 マクロ 記 録 が 開 始 すると マクロの 記 録 ボタンは 記 録 終 了 ボタン( 図 5)に 変 わります こ こからは 通 常 の Excel の 操 作 を 行 います そして 次 に 記 録 終 了 ボタンをクリックするまで すべ てのキー 操 作 及 びマウス 操 作 がマクロに 記 録 されます 基 本 課 題 1では まずセル 範 囲 C5:E12 をセル C17 にコピーし セル C18 に 式 =C6/C$6 を 入 力 し この 式 をセル 範 囲 C19:C24 にコピーします 次 にセル 範 囲 C18:C24 をセル 範 囲 E18:E24 に コピーし これで 変 化 率 の 表 が 求 められます コピー 操 作 で 表 の 罫 線 が 消 えたので 最 後 に 表 全 体 の 外 枠 の 罫 線 を 描 画 して 表 の 完 成 です ( 図 6) 図 2. 参 考 図 3 / 11 4 / 11
図 6. 変 化 率 の 参 考 図 マクロの 実 行 (Excel2003 の 場 合 ) マクロの 実 行 ボタン( 図 7)をクリックすると マクロ ダイアログボックス( 図 8)が 現 れ ます それまで 記 録 ( 登 録 )したマクロ 名 一 覧 が 表 示 されるので その 中 の1つを 選 択 して 実 行 ボ タンをクリックすると 選 択 されたマクロを 実 行 することができます この マクロ ダイアログボックスは 実 行 以 外 にも 重 要 な 機 能 が 用 意 されています まず 削 除 は 文 字 通 り 選 択 された 登 録 済 みのマクロを 削 除 します 編 集 をクリックすると 次 章 で 紹 介 する Visual Basic Editor が 起 動 され 記 録 した( 登 録 された)マクロの 内 容 を 編 集 できるようにな ります 図 7 図 9グラフ 作 成 図 8 マクロ ダイアログ 基 本 課 題 2 基 本 グラフの 描 画 次 に 基 本 課 題 2のグラフの 描 画 操 作 をマクロに 記 録 します マクロの 記 録 ボタンをクリックする と マクロの 記 録 ダイアログボックスが 現 れます マクロ 名 は Macro2 でよいとします 表 の 年 度 最 終 エネルギー 消 費 と 名 目 GDP の 部 分 だけを 選 択 して 折 れ 線 グラフを 作 成 します グラフの 作 成 はグラフウィザードの 基 本 設 定 (オプション)に 従 って 単 純 に 行 います 参 考 図 ( 図 9)のようなグラ フが 描 画 できたら 記 録 終 了 ボタンをクリックします Excel 2010/2007 の 場 合 操 作 教 材 ファイルと 新 規 ファイルを 開 きます. 以 下 では 新 規 ファイルのファイル 名 を Book1.xlsx としま す. 新 規 ファイルを 開 いたら, 開 発 タブを 有 効 にします.また,マクロのセキュリティボタンを 押 してくだ さい. 教 材 ファイルの 一 覧 表 を 新 規 ファイルの Sheet1 にコピーしてから 以 下 の 操 作 を 行 ってください. マクロの 記 録 と 実 行 (Excel2010/2007) マクロの 記 録 ( 記 録 開 始 と 記 録 終 了 )とマクロの 実 行 は, 図 1の[ 開 発 ]タブの コード グループに あるアイコン(またはボタン)を 使 って 行 います. または,[マクロの 記 録 ]ボタンは,ワークシートの 左 隅 の[コマンド]の 隣 にもあります. 表 示 されてい ない 場 合 は,[コマンド]を 右 クリックして 開 いたショートカットメニューから[マクロの 記 録 (M)]を 選 ん でください. 図 10a Excel 2010/2007 のマクロ 記 録 ボタン 5 / 11 6 / 11
図 10b [ 記 録 終 了 ]ボタン それでは 以 下 のような 操 作 を 行 ってみてください. 図 11 [コマンド]を 右 クリック マクロの 記 録 (Excel2010/2007 の 場 合 ) 1880 年 のセルを 2010 年 までコピーします [マクロの 記 録 ]ボタンをクリックすると,[マクロの 記 録 ]ダイアログボックスが 現 れます.マクロ 名 は 通 番 で 自 動 的 に Macro1,Macro2 のように 与 えられますが,ここで 変 更 することもできます. 図 4と 同 じ ここでは エネルギー 消 費 の 割 合 と 変 更 しています. その 他 の 情 報 も 確 認 した 上 で,[OK]をクリックすれば 実 際 にマクロ 記 録 が 開 始 されます. マクロ 記 録 が 始 まると,[マクロの 記 録 ]ボタンは[ 記 録 終 了 ]ボタンに 変 わります.そして,[ 記 録 終 了 ]ボ タンをクリックするまでの 間,すべてのキー 操 作 及 びマウス 操 作 がマクロとして 記 録 されます. 7 / 11 図 12 部 門 別 最 終 エネルギー 消 費 の 推 移 ( 割 合 )の 表 を 完 成 8 / 11
マクロの 実 行 (Excel2010/2007 の 場 合 ) 図 13 マクロの 実 行 ボタン マクロを 含 む Excel ブックの 保 存 マクロを 含 む Excel ブックの 保 存 を 保 存 しようとすると 以 下 のような 情 報 ダイアログが 表 示 される マクロの 実 行 ボタンを 押 し 次 の マクロ ダイアログから 実 行 するマクロ 名 を 選 ぶ 上 で はい を 選 ぶと マクロが 無 効 にされました という 注 意 ダイアログが 表 示 される 上 の 警 告 の 指 示 に 従 って いいえ を 選 択 する 場 合 は 以 下 のように Excel マクロ 有 効 ブック 形 式 ( 拡 張 子 は xlsm )に 変 更 して 保 存 する マクロダイアログ( 図 8 と 同 じ) 次 に 上 で 作 成 した 推 移 表 ( 割 合 )から 以 下 のようなグラフを 表 示 するマクロを エネルギー 消 費 の 推 移 グラフ というマクロ 名 で 作 成 しましょう 9 / 11 10 / 11
発 展 課 題 最 終 エネルギー 消 費 と 名 目 GDP の 推 移 (1980 年 ~2010 年 )について 参 考 図 のような 一 覧 表 があ ります 各 年 度 について 産 業 部 門 の 製 造 業 から 民 生 部 門 の 家 庭 部 門 までの 消 費 量 の 合 計 が H 列 の 最 終 消 費 で I 列 の 供 給 一 次 は 国 内 で 生 産 され 供 給 された 一 次 エネルギーの 総 量 です A) 製 造 業 から 家 庭 部 門 までの 消 費 量 の 割 合 の 推 移 表 を 作 成 してください B) 作 成 した 推 移 表 のデータを 棒 グラフで 描 画 してください 以 上 の A B の 操 作 をマクロに 記 録 してください マクロ 名 をそれぞれ 部 門 別 エネルギー 消 費 と 部 門 別 エネルギー 消 費 のグラフ とする Excel: ヘルプと 使 い 方 http://office.microsoft.com/ja-jp/excel-help/fx010064695.aspx?ctt=97 11 / 11