Excel では マクロ 機 能 を 利 用 して 繰 り 返 し 行 う 操 作 を 自 動 化 することができます この 章 では マクロの 記 録 方 法 や 実 行 方 法 また 編 集 方 法 について 学 習 します 1 マクロとは マクロとは Excel で 行 う 一 連 の 操 作 を VBA(Microsoft Visual Basic for Applications)というプログラミング 言 語 として 記 録 し 自 動 化 するための 機 能 です 作 成 したマクロは 保 存 して 1 つのコマンドとして 繰 り 返 し 使 用 することができます マクロを 使 用 すると Excel で 毎 日 あるいは 毎 月 のように 繰 り 返 し 行 う 定 型 業 務 を 自 動 化 することができるため 操 作 ミスを 防 ぎ 作 業 時 間 も 短 縮 し 業 務 の 効 率 化 に 役 立 ちます マクロ マクロのセキュリティ セキュリティ Excel では マクロによるコンピュータウィルスの 感 染 を 防 ぐため 4 段 階 のセキュリティレベルが 用 意 されています 既 定 では セキュリティレベルは[ 警 告 を 表 示 してすべてのマクロを 無 効 にする]に 設 定 されており マクロを 含 むブックを 開 くとマクロが 無 効 にされたことを 示 すセキュリティの 警 告 メッセージが 表 示 され その 場 に 応 じてマクロを 有 効 にしてブック を 開 くか マクロを 無 効 にしてブックを 開 くかを 選 択 することができます セキュリティレベル セキュリティレベルの 変 更 セキュリティレベルを 変 更 するには [Office ボタン]から[Excel のオプション]ボタンをクリックし [Excel のオプション] ダイアログボックスを 表 示 して [セキュリティセンター]の セキュリティセンターの 設 定 ボタンをクリックして[セキュリ ティセンター]ダイアログボックスを 表 示 します セキュリティ セキュリティの 警 告 メッセージ Excel のセキュリティレベルを[ 警 告 を 表 示 してすべてのマクロを 無 効 にする]または[デジタル 署 名 されたマクロを 除 き すべてのマクロを 無 効 にする]に 設 定 した 場 合 マクロを 無 効 にしてブックを 開 きます マクロを 使 用 するには 表 示 された 警 告 メッセージの オプション ボタンをクリックし [Microsoft Office セキュリティ オプション]ダイアログボックスを 表 示 して [このコンテンツを 有 効 にする]に 設 定 します 既 定 では[ 不 明 なコンテンツから 保 護 する( 推 奨 )]に 設 定 されています 82
2 マクロの 作 成 マクロの 記 録 機 能 を 使 用 すると プログラミングの 用 語 や 文 法 を 知 らなくても Excel の 一 連 の 操 作 を 行 うだけでマクロを 簡 単 に 作 成 することができます マクロ 作 成 の 流 れ 1. 設 計 :マクロに 記 録 する 内 容 を 検 討 し データを 用 意 して 事 前 に 記 録 する 操 作 手 順 を 十 分 にテストします マクロの 記 録 中 に 間 違 った 操 作 を 行 うとその 手 順 もすべて 記 録 されます 2. 記 録 :マクロを 記 録 します 3. 実 行 : 記 録 したマクロを 実 行 し 動 作 を 確 認 します 4. 修 正 :マクロが 正 しく 動 作 しない 場 合 は 修 正 します マクロ マクロの 記 録 マクロを 記 録 するには [ 開 発 ]タブの[マクロの 記 録 ]ボタンをクリックし [マクロの 記 録 ]ダイアログボックスを 表 示 して マクロ 名 ショートカットキー マクロの 保 存 先 を 指 定 します マクロ 名 には 文 字 数 字 アン ダースコア(_)を 使 用 することが できます ( 記 号 は 使 用 できませ ん)また 先 頭 は 文 字 にする 必 要 マクロの 実 行 にショートカットキーを 設 定 することができます マクロの 保 存 先 は [ 個 人 用 マクロブック] [ 新 しいブック] [ 作 業 中 のブック]から 選 択 することができます [ 開 発 ]タブ タブの 表 示 [ 開 発 ]タブは 初 期 設 定 では 表 示 されていないため [Office ボタン]から [Excel のオプション]ボタンをクリックし [Excel のオプション]ダイア ログボックスを 表 示 して [ 基 本 設 定 ]の[[ 開 発 ]タブをリボンに 表 示 する] チェックボックスをオンにして 表 示 します 記 録 の 終 了 マクロの 記 録 を 開 始 すると [ 開 発 ]タブの[マクロの 記 録 ]ボタンが[ 記 録 終 了 ]ボタンに 変 わり クリックしてマクロの 記 録 を 終 了 することができます 記 録 を 終 了 すると[マクロの 記 録 ]ボタン に 戻 ります <こんな 方 法 も!!> マクロの 記 録 を 開 始 すると ステータスバーに[ 記 録 終 了 ]ボタンが 表 示 され クリックしてマクロの 記 録 を 終 了 することがで きます また このボタンは 記 録 を 終 了 すると [マクロの 記 録 ]ボタンに 変 わり クリックして[マクロの 記 録 ]ダイアログボッ クスを 表 示 することができます [ 記 録 終 了 ]ボタン [マクロの 記 録 ]ボタン 83
マクロ マクロの 削 除 マクロを 削 除 するには [ 開 発 ]タブの[マクロの 表 示 ]ボタンをクリックして [マクロ]ダイアログボックスを 表 示 し 削 除 するマクロ 名 を 選 択 して 削 除 ボタンをクリックします 確 認 メッセージが 表 示 されたら はい ボタンを クリックします マクロの 記 録 中 に 操 作 を 間 違 えてしまった 場 合 は マクロの 記 録 を 終 了 し そのマクロを 削 除 して 新 しくマクロを 記 録 し 直 します マクロ 記 録 時 のセルの 参 照 マクロを 記 録 する 際 のセルの 参 照 方 法 には 相 対 参 照 と 絶 対 参 照 の 2 種 類 があります 特 定 のセルを 対 象 にマク ロを 記 録 する 場 合 は 絶 対 参 照 を 指 定 し アクティブセルの 位 置 を 基 準 とした 相 対 的 な 位 置 を 参 照 してマクロを 記 録 する 場 合 は 相 対 参 照 を 指 定 します マクロを 記 録 すると 特 に 指 定 しない 限 り 絶 対 参 照 でセルの 位 置 が 記 録 され ます マクロを 相 対 参 照 で 記 録 するには [ 開 発 ]タブの[ 相 対 参 照 で 記 録 ] ボタンをオンにします [ 相 対 参 照 で 記 録 ]ボタンをオンすると Excel を 終 了 するまで またはもう 一 度 [ 相 対 参 照 で 記 録 ]ボタンをクリックして オフにするまで マクロは 相 対 参 照 で 記 録 されます 3 マクロの 実 行 マクロを 実 行 するには [ 開 発 ]タブの[マクロ]ボタンをクリックし [マクロ]ダイアログボックスを 表 示 して 実 行 します また ショートカットキーやボタンを 使 用 して 実 行 することもできます ショートカットキー ショートカットキーによる 実 行 マクロ 実 行 のショートカットキーに 使 用 するアルファベットは 小 文 字 と 大 文 字 を 区 別 して 使 用 することができます 小 文 字 を 指 定 した 場 合 は Ctrl キーと 大 文 字 を 使 用 した 場 合 は Ctrl キーと Shift キーと 指 定 したアルファベットの 組 み 合 わせでマクロを 実 行 します 設 定 したマクロのショートカットキーが Excel の 既 定 のショートカットキーと 重 複 した 場 合 マクロのショート カットキーが 優 先 されます ショートカットキー ショートカットキーの 設 定 作 成 したマクロに 後 からショートカットキーを 設 定 したり ショートカットキーを 変 更 する 場 合 は [マクロ]ダイアログボックスで 対 象 となるマクロ 名 を 選 択 し オプション ボタンをクリックして 表 示 される[マクロオプション]ダイアログボックス で 設 定 します マクロ 実 行 ボタンの 作 成 記 録 したマクロをボタンに 登 録 して ボタンをクリックしてマクロを 実 行 することができます 1. [ 開 発 ]タブの[ 挿 入 ]ボタンから[ボタン(フォームコントロール)]をクリックし ワークシート 上 で ドラッグしてボタンを 作 成 します 2. 表 示 された[マクロの 登 録 ]ダイアログボックスから 対 象 となるマクロ 名 を 選 択 し OK ボタンを クリックします 3. Esc キーを 押 すか 任 意 のセルをクリックし ボタンの 選 択 を 解 除 します 84
ボタンにマウスポインタを 合 わせると の 形 状 になり クリックすると 登 録 したマクロが 実 行 されます マクロボタン マクロボタンの 編 集 マクロを 登 録 したボタンは クリックするとマクロが 実 行 されるため ボタンのサイズや 位 置 を 変 更 したり 書 式 を 設 定 する には Ctrl キーを 押 しながらボタンをポイントし マウスポインタの 形 状 が の 状 態 でクリックして 選 択 状 態 にして 行 います Ctrl キーを 押 しながらドラッグするとボタンのコピーになるので 注 意 します ボタン ボタンの 書 式 設 定 フォントなどの 書 式 を 変 更 するには ボタンを 右 クリックし ショートカットメニューの[コントロールの 書 式 設 定 ]をクリッ クして[コントロールの 書 式 設 定 ]ダイアログボックスを 表 示 します ボタン 名 の 変 更 ボタン 名 を 変 更 するには ボタンを 右 クリックし ショートカットメニューの[テキストの 編 集 ]をクリックして ボタン 内 にカーソルを 挿 入 します またボタンが 選 択 されている 場 合 は ボタン 内 をポイントし マウスのポインタの 形 状 が の 状 態 でクリックするとカーソルを 挿 入 することができます マクロボタン マクロボタンの 削 除 A) ボタンを 右 クリックし ショートカットメニューの[ 切 り 取 り]をクリックします B) Ctrl キーを 押 しながらボタンをクリックし Delete キーまたは Backspace キーを 押 します ボタン 内 にカーソルが 表 示 されている 場 合 は ボタンの 輪 郭 を 再 度 クリックし カーソルを 表 示 していない 状 態 に してから 行 います 輪 郭 をこのマウスポインタの 形 状 でクリックします 4 マクロの 保 存 マクロはブックと 共 に 保 存 されます マクロを 含 むブックを 保 存 するには ファイルの 種 類 を Excel マクロ 有 効 ブック (*.xlsm) として 保 存 する 必 要 があり 通 常 の Excel ブックのファイルの 種 類 Excel ブック(*.xlsx) ではマクロは 保 存 されま せん ( 拡 張 子 は xlsm となります) Excel マクロ 有 効 ブック(*.xlsm) は ファイルのアイコンも 通 常 の Excel ブックとは 異 なります Excel ブックのアイコン Excel マクロ 有 効 ブックのアイコン 5 マクロの 編 集 マクロを 記 録 すると その 操 作 内 容 が VBA(Microsoft Visual Basic for Applications)のコードとして 記 録 されます VBA のコードは Visual Basic Editor を 使 用 して 記 述 内 容 を 確 認 したり 編 集 することができます 記 録 したマクロの 記 述 を 編 集 するには [マクロ]ダイアログボックスで 対 象 と なるマクロ 名 を 選 択 し 編 集 ボタンをクリックして[Microsoft Visual Basic] ウィンドウを 開 きます 85
VBA のコード コードの 構 成 マクロ 名 マクロの 開 始 コメント:シングルクォーテーション( )で 始 まり 緑 色 で 表 示 されるプログラムに 影 響 しない 文 字 (メモ) 記 録 した 操 作 手 順 マクロの 終 了 <こんな 方 法 も!!> [ 開 発 ]タブの[Visual Basic]ボタンをクリックしても Visual Basic Editor を 起 動 して [Microsoft Visual Basic] ウィンドウを 開 くことができます ヘルプの 利 用 F1 キーを 使 用 して わからない 用 語 (コード)の 意 味 や 使 用 例 を 調 べることができます 調 べたい 用 語 をクリックして カーソルを 挿 入 し F1 キーを 押 すとヘルプを 表 示 することができます 7 章 1 操 作 してみよう! ここでは マクロの 記 録 と 実 行 の 方 法 マクロの 保 存 について 確 認 しましょう STEP 1 Excel を 起 動 し ドキュメントフォルダから 7 章 (1)マクロ.xlsx ブックを 開 きましょう STEP 2 [Excel のオプション]ダイアログボックスを 使 用 して [ 開 発 ]タブを 表 示 しましょう STEP 3 マクロの 記 録 をはじめる 前 に テスト シートを 使 用 して マクロにする 操 作 手 順 を 確 認 しましょう 1 テスト シートをアクティブにします 2 セル C3 から D14 の 5 月 から 6 月 のデータを 項 目 も 含 めてコピーし セル B3 に 貼 り 付 けます 3 セル C3 を 選 択 し オートフィルを 使 用 してセル D3 に 月 を 入 力 します 4 今 月 売 上 シートをアクティブにし セル B4 から B14 をコピーします 86
目 的 のセルが 既 に 選 択 されていても マクロに 記 録 する 場 合 は 必 ず 選 択 し 直 します 5 6 テスト シートをアクティブにし セル D4 に 書 式 を 変 更 しないように 貼 り 付 けます セル A3 を 選 択 します STEP 4 STEP3 で 確 認 した 操 作 手 順 を 3 ヶ 月 売 上 シートを 使 用 して マクロとして 記 録 しましょう 1 3 ヶ 月 売 上 シートをアクティブにします 2 [ 開 発 ]タブの[マクロの 記 録 ]ボタンをクリックし [マクロの 記 録 ]ダイアログボックスを 表 示 します 3 [マクロ 名 ]に 更 新 と 入 力 し OK ボタンをクリックします 4 セル C3 から D14 の 5 月 から 6 月 のデータを 項 目 も 含 めてコピーし セル B3 に 貼 り 付 けます 5 セル C3 を 選 択 し オートフィルを 使 用 してセル D3 に 月 を 入 力 します 6 今 月 売 上 シートをアクティブにし セル B4 から B14 をコピーします 目 的 のセルが 既 に 選 択 されていても マクロに 記 録 する 場 合 は 必 ず 選 択 し 直 します 7 3 ヶ 月 売 上 シートをアクティブにし セル D4 に 書 式 を 変 更 しないように 貼 り 付 けます 8 セル A3 を 選 択 します 9 [ 記 録 終 了 ]ボタンをクリックし マクロの 記 録 を 終 了 します マクロの 記 録 中 は ステータスバーの 左 端 に [ 記 録 終 了 ] ボタンが 表 示 され ポイント STEP 5 今 月 売 上 シートのセル B4 から B14 に 8 月 の 売 上 金 額 を 入 力 しましょう ( 入 力 作 業 を 省 くため テスト 用 データ シートのセル B4 から B14 をコピーし 今 月 売 上 シートのセル B4 に 貼 り 付 けます) STEP 6 3 ヶ 月 売 上 シートをアクティブにし 更 新 マクロを 実 行 して 3 ヶ 月 売 上 シートを 6 月 から 8 月 の 表 に 更 新 しましょう セル A3 を 選 択 してマクロ が 終 了 します STEP 7 売 上 金 額 推 移 マクロ.xlsm というファイル 名 を 付 けて Excel マクロ 有 効 ブックとしてドキュメントフォルダ 内 の 保 存 用 フォルダに 保 存 しましょう STEP 8 Excel は 終 了 せずに 売 上 金 額 推 移 マクロ.xlsm ブックを 閉 じましょう 再 度 売 上 金 額 推 移 マクロ.xlsm ブックを 開 きましょう セキュリティの 警 告 メッセージが 表 示 され マクロが 無 効 になります STEP 9 マクロが 無 効 なブックではマクロが 実 行 できないことを 確 認 し マクロを 有 効 にしましょう 1 更 新 マクロを 実 行 し 次 のメッセージが 表 示 されることを 確 認 して OK ボタンをクリックします 2 3 売 上 金 額 推 移 マクロ.xlsm ブックを 閉 じ 再 度 売 上 金 額 推 移 マクロ.xlsm ブックを 開 きます セキュリティの 警 告 メッセージの オプション ボタンをクリックし [Microsoft Office セキュリティオプション]ダイアログ ボックスを 表 示 して [このコンテンツを 有 効 にする]に 設 定 します 87
STEP10 [Microsoft Visual Basic]ウィンドウで 更 新 マクロを 表 示 し 記 録 されたマクロを 確 認 しましょう 確 認 後 セル A1 を 選 択 した 状 態 でマクロが 終 了 するようにマクロを 編 集 します 1 [マクロ]ダイアログボックスを 表 示 して 更 新 マクロを 選 択 し 編 集 ボタンをクリックします 2 3 Range( A3 ).Select と 記 録 されているコードを Range( A1 ).Select と 変 更 します [Microsoft Visual Basic]ウィンドウを 閉 じます STEP11 今 月 売 上 シートのセル B4 から B14 に 9 月 の 売 上 金 額 価 格 を 入 力 しましょう ( 入 力 作 業 を 省 くため テスト 用 データ シートのセル C4 から C14 をコピーし 今 月 売 上 シートのセル B4 に 貼 り 付 けます) STEP12 3 ヶ 月 売 上 シートをアクティブにし 更 新 マクロを 実 行 して 3 ヶ 月 売 上 シートを 7 月 から 9 月 の 表 に 更 新 しましょう STEP10 でマクロを 修 正 したため セル STEP13 A1 を 選 択 してマクロが 終 了 します 更 新 マクロをボタンから 実 行 できるように 3 ヶ 月 売 上 シートの 表 の 右 側 にフォームコントロールのボタンを 作 成 しましょ う 1 3 ヶ 月 売 上 シートをアクティブにします 2 [ 開 発 ]タブの[ 挿 入 ]ボタンから[ボタン(フォームコントロール)] ボタンをクリックして セル G2 から H3 のあたりを ドラッグします 3 [マクロの 登 録 ]ダイアログボックスの[マクロ 名 ]ボックスから[ 更 新 ]を 選 択 し OK ボタンをクリックします 4 ボタン 名 を 3 ヶ 月 売 上 更 新 に 変 更 します STEP14 今 月 売 上 シートのセル B4 から B14 に 10 月 の 売 上 金 額 価 格 を 入 力 しましょう ( 入 力 作 業 を 省 くため テスト 用 データ シートのセル D4 から D14 をコピーし 今 月 売 上 シートのセル B4 に 貼 り 付 けます) STEP15 3 ヶ 月 売 上 シートをアクティブにし 作 成 したボタンを 使 用 して 更 新 マクロを 実 行 し 3 ヶ 月 売 上 シートを 8 月 か 88
ら 10 月 の 表 に 更 新 しましょう 89
STEP16 上 書 き 保 存 して Excel を 終 了 しましょう 完 成 例 参 照 ) 完 成 フォルダ 内 の 売 上 金 額 推 移 マクロ_ 完 成.xlsx ブック 90
第 7 章 のトレーニング ここでは 発 注 伝 票 に 入 力 したデータを 削 除 するマクロを 作 成 し ショートカットキーやボタンでマクロを 実 行 できるように 設 定 します STEP 1 Excel を 起 動 し ドキュメントフォルダから 7 章 トレーニング.xlsx ブックを 開 きましょう STEP 2 [ 開 発 ]タブが 表 示 されていない 場 合 は 表 示 しましょう STEP 3 マクロのテスト 用 に 発 注 伝 票 シートを 2 枚 コピーして 発 注 伝 票 (2) シート と 発 注 伝 票 (3) シートを 作 成 しましょう STEP 4 毎 回 新 しいデータが 入 力 できるように お 届 け 先 商 品 ID 数 量 のデータを 削 除 するマクロを 作 成 します 発 注 伝 票 (2) シートをアクティブにし マクロの 記 録 をはじめる 前 に マクロにする 操 作 手 順 を 確 認 しましょう 1 セル B4 から B7 セル B11 から B18 セル E11 から E18 を 選 択 します 2 Delete キーを 押 します 3 セル B4 を 選 択 します STEP 5 [ 元 に 戻 す]ボタンをクリックし 消 去 したデータを 戻 します (マクロを 実 行 した 後 は [ 元 に 戻 す]ボタンは 使 用 できません) STEP 6 発 注 伝 票 (2) シートを 利 用 して STEP4 で 確 認 した 操 作 手 順 をマクロとして 記 録 しましょう 1 任 意 のセルを 選 択 します ( 記 録 を 開 始 する 前 に マクロで 選 択 するセルの 選 択 を 解 除 しておきます) 2 [マクロの 記 録 ]ダイアログボックスで 次 の 設 定 をして 記 録 を 開 始 します マクロ 名 : 消 去 ショートカットキー: D ( 半 角 の 大 文 字 ) 3 STEP4 で 確 認 した1~3の 操 作 手 順 を 行 います 4 マクロの 記 録 を 終 了 します 5 [ 元 に 戻 す]ボタンをクリックし 消 去 したデータを 戻 します STEP 7 ショートカットキーを 使 用 して マクロを 実 行 しましょう STEP 8 次 の 手 順 で 発 注 伝 票 マクロ.xlsm というファイル 名 を 付 けて Excel マクロ 有 効 ブックとしてドキュメントフォルダ 内 の 保 存 用 フォルダに 保 存 しましょう 1 ブックを 上 書 き 保 存 し 次 のメッセージが 表 示 されることを 確 認 します 2 表 示 されたメッセージの いいえ ボタンをクリックし [ 名 前 を 付 けて 保 存 ]ダイアログボックスを 表 示 して ファイル 名 と ファイルの 種 類 を 指 定 して 保 存 します はい ボタンをクリックした 場 合 は ブックは 上 書 き 保 存 されますが 91
マクロは 保 存 されません STEP 9 [Microsoft Visual Basic]ウィンドウで 消 去 マクロを 表 示 し マクロ 名 を データ 消 去 に 変 更 し 手 配 日 発 送 予 定 日 担 当 のデータ(セル F3 から F5)も 削 除 できるように 編 集 しましょう 編 集 後 [Microsoft Visual Basic]ウィンドウを 閉 じます 編 集 する 際 に コード 内 のカッコやダブルクォーテーションを 削 除 しないように 注 意 します 設 定 したショートカットキー がコメントに 表 示 されます E18 と の 間 に カーソルを 挿 入 し,F3:F5 と 入 力 します STEP10 発 注 伝 票 (3) シートをアクティブにし マクロを 実 行 して セル F3 から F5 のデータも 削 除 されることを 確 認 しましょう STEP11 不 要 になった 発 注 伝 票 (2) シートと 発 注 伝 票 (3) シートを 削 除 しましょう STEP12 発 注 伝 票 シートのセル I2 から I3 あたりに データ 消 去 マクロを 実 行 するフォームコントロールのボタンを 作 成 しましょう ボタン 名 は データ 消 去 にします STEP13 ボタンを 使 用 して マクロを 実 行 しましょう STEP14 上 書 き 保 存 して Excel を 終 了 しましょう 完 成 例 参 照 ) 完 成 フォルダ 内 の 発 注 伝 票 マクロ_ 完 成.xlsx ブック 92