Microsoft Word - ExcelVBA.doc



Similar documents
(Microsoft Word - Excel\211\236\227p7\217\315.docx)

Microsoft Word - 203MSWord2013

Microsoft Word - 第3章.doc

医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート - 目 次 - < 第 1 章 > 共 通 事 項 説 明 医 療 費 自 己 負 担 額 支 払 明 細 書 入 力 シート 目 次 1.1 本 システムの 注 意 点 入 力 項 目 について 基 本 情

Microsoft Word - 教科書VBA_第1章2013_.doc

MetaMoJi ClassRoom/ゼミナール 授業実施ガイド

ことばを覚える

Microsoft Word - word_05.docx

Ⅰ 校 外 における 研 修 の 留 意 点 1 校 外 における 研 修 のコマ 数 の 考 え ア) 午 前 午 後 の 講 座 は 0.5 日 (0.5 コマ) イ) 全 日 の 講 座 は 1.0 日 (1.0 コマ) 2 校 外 における 研 修 として 選 択 できない 講 座 研 修

(Microsoft Word - \215u\213`\203m\201[\203g doc)

<4D F736F F D C82CC8AEE91625F87542D F9182AB8AB782A68CE32E646F63>

治 験 実 施 管 理 システム NMGCP 向 け Excel 形 式 プロトコール 作 成 手 順 書 V4.0.3 対 応 版 第 1 版 株 式 会 社 富 士 通 アドバンストエンジニアリング All Rights Reserved,Copyright 株 式 会 社 富 士 通 アドバン

Microsoft Office Excel2007(NO.2エクセル初級後編)

Word 003 スキルブック 06 - オブジェクトの 利 用 0.Word で 作 る 表 : 行 幅 を 最 小 値 より 小 さく 設 定 する 3 表 の 左 右 のサイズを 適 宜 調 整 します Word で 表 を 作 成 するとき, 列 幅, 行 幅 ともに 基 本 的 に 自 由

目 次 1.はじめに 書 式 の 説 明 表 紙 スケジュール 組 入 れ 基 準 併 用 禁 止 薬 併 用 注 意 薬 同 種 同 効 薬 医 師 モニタリング..

Ⅰ. 各 種 文 書 作 成 メニュー 項 目 説 明 各 種 文 書 作 成 メニューでは 共 通 で 使 える 便 利 な 機 能 がございます テンプレート 機 能 引 用 文 を 貼 り 付 けることができます 複 写 (コピー) 機 能 作 成 した 帳 票 をコピー 編 集 することがで

Microsoft PowerPoint - jouhou11vista.ppt [互換モード]

給料らくだ7.5・かるがるできる給料5.5 追加マニュアル

(Microsoft Word - Excel\211\236\227p2\217\315.docx)

_責)Wordトレ2-1章_斉

目 次 JAVIS Appli の 基 本 機 能... 3 JAVIS Appli について... 3 音 声 確 認 機 能 JAVIS Appli( 有 償 版 )の 機 能... 4 音 声 で 読 みの 確 認 をする... 4 辞 書 機 能... 5 単 語 を 登 録 する... 5

年齢別人数計算ツールマニュアル

ボタンをクリックします ( 警 告 が 表 示 されない 場 合 もあります ) 9 画 面 に Win SFX32M V と 表 示 されますので 保 存 する 箇 所 を 選 択 し OK をクリックしてください 選 択 した 箇 所 にインストールしたフォルダが 保 存 され

問 題 1 次 の 文 章 は 作 業 環 境 について 述 べたものである にあてはまる 適 切 なも のを 解 答 群 { }より 選 び その 記 号 で 答 えよ 設 問 1. < 図 1>はアプリケーションウィンドウの 一 部 である < 図 1>の1の 部 分 を < 図 1> という

名刺作成講習

目 次 1. 大 学 情 報 データベースシステムの 使 用 方 法 について EXCEL 一 括 登 録 EXCEL ダウンロード 検 索 条 件 の 指 定 プレビュー EXCEL ダウンロード(データ 抽 出 あ

R4財務対応障害一覧

地域ポータルサイト「こむねっと ひろしま」

<4D F736F F D B68F918DEC90AC89898F4B899E977095D2816A2E646F63>

Ver 改 訂 日 付 改 訂 内 容 1

返還同意書作成支援 操作説明書

(Microsoft Word - Word\211\236\227p5\217\315.docx)


1

<4D F736F F D208DEC90AC837D836A B81698F4390B394C5816A2E646F63>

日 付 部 分 を 入 力 する 今 回 は 3 月 のカレンダーを 作 ります 3 月 は 水 曜 日 からはじまりますので 1 水 曜 日 第 1 週 目 にあたるセル D2 に 1 その 隣 の E2 に 2 と 入 力 しましょう と 入 力 したセル D2:E2 をドラッグして

1. アクセスする 2. 簡 易 検 索 画 面 (fig. 1) アクセスすると 最 初 に 出 る 画 面 です 検 索 語 入 力 ボックスにキーワードを 入 力 して 論 文 検 索 ボタンをクリックし ます 3. ボックス 下 部 のチェック 項

Microsoft Word - P doc

目 次 1. 積 算 内 訳 書 に 関 する 留 意 事 項 1 ページ 2. 積 算 内 訳 書 のダウンロード 3 ページ 3. 積 算 内 訳 書 の 作 成 (Excel 2003の 場 合 ) 6 ページ 4. 積 算 内 訳 書 の 作 成 (Excel 2007の 場 合 ) 13

untitled

(Microsoft Word - Word\211\236\227p8\217\315.docx)

研究者情報データベース

以 下 に 手 順 の 流 れを 記 載 します 3ページ 以 降 で 各 項 目 の 手 順 を 説 明 します ( をクリックすると 該 当 ページにジャンプします ) また 15ページに 汎 用 データ 受 入 に 関 する よくあるお 問 い 合 わせをご 紹 介 しています Step1 (

別冊資料-11

DN6(R04).vin

目 次 1 ご 使 用 の 前 に 1.1 動 作 環 境 1.2 セットアップ 方 法 2 使 用 方 法 2.1 起 動 方 法 2.2 操 作 方 法 効 果 音 設 定 アニメーション 設 定 スライドジャンプ 設 定 フラッシュカード 設 定

Microsoft Word - 操作マニュアル(石油コンビナート_オフラインソフト編)_v0.2.doc

(Microsoft Word - \215u\213`\203m\201[\203g doc)

Excel basics

(Microsoft Word - Excel\223\374\226\3456\217\ docx)

Microsoft Word - TCⅡマニュアル_第6章_ doc

<4D F736F F D2090BF8B818AC7979D8B40945C91808DEC837D836A B2E646F63>

<4D F736F F D208CA990CF96BE8DD78F918EAE82CC95CF8D >

目 次 はじめに.... デジカメからの 画 像 取 込 画 像 情 報 の 登 録 部 位 の 設 定 目 的 の 設 定 目 的 の 追 加 画 像 情 報 の 登 録 ( 備 考 の 設 定 ) 備 考

問 題 1 次 の 文 章 は Excel の 作 業 環 境 および 環 境 の 設 定 と 変 更 について 述 べたものである 下 線 部 の 記 述 の 正 誤 を 判 断 し 解 答 群 { }の 記 号 で 答 えよ ただし 下 線 部 以 外 の 記 述 に 誤 りはないものとし 特

KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2

文科省様式3-2集計オプションマニュアル

untitled

ワープロソフトウェア

パソコンで楽チン、電力管理3169編

Microsoft Word - 第3章.doc

事前チェック提出用現況報告書作成ツール入力マニュアル(法人用)

目 次 1.はじめに 1-1. はじめに 2. 操 作 2-1. 概 要 2-2. 操 作 方 法 ( 調 査 依 頼 の 確 認 ) 2-3. 操 作 方 法 ( 回 答 登 録 ) 2-4. 操 作 方 法 (ワークシート 出 力 ) 2-5. 操 作 方 法 (ワークシート 取 込 ) 3.

01_07_01 データのインポート_エクスポート_1

スライドの 編 集 とリンク スライドのレイアウトやデザインが 決 まったら 文 字 の 編 集 をしたり スライドの 順 序 変 更 やリンク 設 定 をして 見 栄 えの 良 いプレゼンテーションを 作 成 しましょう ファイル MP05 完 成.ppt を 開 き 内 容 を 編 集 していき

目 次 1. Web メールのご 利 用 について Web メール 画 面 のフロー 図 Web メールへのアクセス ログイン 画 面 ログイン 後 (メール 一 覧 画 面 ) 画 面 共 通 項 目

Microsoft Word - 03accessデータベース演習レジメ.doc

Microsoft Word - CiCAM Metal_操作マニュアル.doc

入 札 参 加 資 格 申 請 システム 操 作 マニュアル 入 札 参 加 資 格 の 資 格 有 効 ( 変 更 ) 日 を 迎 えると 追 加 届 の 登 録 ができるようになります ( 入 札 参 加 資 格 申 請 の 定 時 受 付 では いずれかの 申 請 先 団 体 から 入 札 参

TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合

ひらがなを 入 力 する 濁 点 などを 入 力 する 漢 字 を 入 力 する 漢 字 に 変 換 する 一 度 入 力 した 文 字 の 再 変 換 は 全 角 半 角 文 字 を 切 り 替 える 文 章 を 入 力 し 漢 字 変 換 する 数 字 を 入 力 する 英 文 字 を 入 力

ワープロソフトウェア

untitled

「給与・年金の方」からの確定申告書作成編

3 3 定 期 考 査 の 達 成 率 (F 列 )を 計 算 します 達 成 率 は 中 間 考 査 (D 列 )と 期 末 考 査 (E 列 ) の 点 数 の 合 計 を 中 間 考 査 と 期 末 考 査 の 最 高 点 の 合 計 で 割 っても とめます F11 のセルをクリッ クし =

VLOOKUP関数,IF関数

スライド 1

1. 表 から 値 を 抽 出 する 説 明 1.1. 表 から 値 を 抽 出 するための 関 数 について 説 明 します LOOKUP VLOOKUP HLOOKUP 関 数 は 検 索 値 に 対 応 する 値 を 検 索 値 を 含 む 一 覧 表 から 抽 出 し てくれる 関 数 です

はじめに 本 プログラムファイルは Windows 版 Microsoft Office Excel で 作 成 されています 動 作 環 境 などは 下 記 を 参 照 ください 動 作 確 認 環 境 [Excel] Microsoft Office Excel 2010 Microsoft O

目 次 遺 失 物 管 理 プログラム 利 用 者 マニュアル 1. 動 作 条 件 遺 失 物 管 理 プログラムのインストール 運 用 の 流 れ 起 動 方 法 操 作 方 法 について 基 本 的 な 操

2016 年 度 情 報 リテラシー 次 に Excel のメニューから[ 挿 入 ]タブをクリックし 表 示 されたメニュー 内 の[グラフ]にある[ 折 れ 線 グラフ]のボタンをクリックする するとサブメニューが 表 示 されるので 左 上 の[ 折 れ 線 ]を 選 択 する [ 挿 入 ]

2016 年 度 情 報 リテラシー 変 更 された 状 態 同 様 に 価 格 のセルを 書 式 設 定 する 場 合 は 金 額 のセルをすべて 選 択 し [ 書 式 ]のプルダウンメニューか ら[ 会 計 ]を 選 択 する すると が 追 加 され 金 額 としての 書 式 が 設 定 さ

5 振 込 依 頼 書 の 作 成 方 法 ()ツールの 起 動 コピーまたはダウンロードしたツールをダブルクリックして 開 いてください (ツール 起 動 の 際 マクロを 有 効 にしてください ) ダブルクリック 後 以 下 のメッセージが 出 力 されますので 読 み 取 り 専 用 ボタン

すでに 登 録 されているユーザーの 情 報 を 変 更 する 場 合 は 該 当 行 を 選 択 して 詳 細 ボタン をクリックするか 行 頭 をダブルクリックして 登 録 画 面 を 開 き 編 集 を 行 う パスワードを 変 更 する 場 合 は パスワードの 変 更 ボタンをクリックして

Microsoft Word - hagakiwriter3free-atenagaki-hou.doc

縦 計 横 計 をSUM 関 数 で 一 度 に 計 算 する 縦 横 の 合 計 を 表 示 するセルが 計 算 対 象 となる セルと 隣 接 している 場 合 は 一 度 に 合 計 を 求 め ることができます 1 計 算 対 象 となるセル 範 囲 と 合 計 を 表 示 する セル 範

改 定 履 歴 改 訂 日 改 訂 理 由 及 び 内 容 承 認 者 確 認 者 改 訂 者 05/8/7 新 版 発 行 05/0/5 推 奨 動 作 環 境 を 追 記

2 / 13 ページ 第 7 講 ビジネス 表 計 算 の 実 用 テクニック 7-1 ファイルを 開 く 第 6 講 で 保 存 したファイル internet.xlsx を 開 きましょう 数 式 が 表 示 されている 場 合 は 非 表 示 にしておきましょう 7-2 罫 線 A3:C4 A

問 題 1 次 の 文 章 は Word の 作 業 環 境 および 環 境 の 設 定 変 更 について 述 べたものである にあてはまる 適 切 なものを 解 答 群 { }より 選 び その 記 号 で 答 えよ 設 問 1. は [ウィンドウ]メニューの 表 示 したものである {ア.[ 並

< 目 次 > 8. 雇 用 保 険 高 年 齢 雇 用 継 続 給 付 27 ( 育 児 休 業 給 付 介 護 休 業 給 付 ) 8.1 高 年 齢 雇 用 継 続 給 付 画 面 のマイナンバー 設 定 高 年 齢 雇 用 継 続 給 付 の 電 子 申 請 高

Microsoft Office Word2007(NO.3ワードの活用)

CD ケースを 使 って 卓 上 カレンダーにしましょう 1.CD ケースサイズの 設 定 最 初 に ワードを 起 動 して ページを 設 定 します 設 定 したテキストボックス 中 へエクセルで 作 成 したカレンダーを 挿 入 します 1.ワードを 起 動 します 2.メニューバーの[ファイ

(Microsoft Word - Excel\223\374\226\3452\217\ docx)

Microsoft Word - 205MSPowerpoint2010-(rev_b)-小倉更新_END0228_a.docx

<4D F736F F D C97F195CF8AB DEC90E096BE8F912091E6312E313294C52E646F63>

POWER EGG V2.01 ユーザーズマニュアル ファイル管理編

Microsoft Word - Excel2010Step3.doc

03_主要処理画面.xlsx

以 下 に 手 順 の 流 れを 記 載 します 3ページ 以 降 で 各 項 目 の 手 順 を 説 明 します ( をクリックすると 該 当 ページにジャンプします ) また 4ページに 汎 用 データ 受 入 に 関 するよくあるお 問 い 合 わせをご 紹 介 しています Step (3ペー

4 応 募 者 向 けメニュー 画 面 が 表 示 されます 応 募 者 向 けメニュー 画 面 で [ 交 付 内 定 時 の 手 続 を 行 う] [ 交 付 決 定 後 の 手 続 を 行 う]をクリックします 10

Transcription:

7 EXCEL VBA Ⅰ VBA(Microsoft Visual Basic for Applications)の 基 礎 1 VBAとは 1 2 VBAでできること 1 3 マクロを 利 用 する 理 由 1 4 VBEの 画 面 構 成 2 Ⅱ マクロの 記 録 1 マクロの 記 録 機 能 3 2 記 録 したマクロの 実 行 5 3 記 録 したマクロの 内 容 確 認 5 4 記 録 したマクロの 編 集 (1) コードの 記 述 8 5 ユーザーフォームに 登 録 (1) 個 票 印 刷 フォームの 作 成 13 (2) コードウィンドウの 呼 び 出 し 16 (3) マクロを 実 行 する 処 理 の 記 述 16 (4) ユーザーフォームを 起 動 する 処 理 の 記 述 17 (5) ショートカットキーの 登 録 17 (6) 動 作 確 認 18 (7) コードウィンドウの 呼 び 出 し( 初 期 化 処 理 ) 19 (8) 初 期 化 処 理 の 記 述 20 (9) コードウィンドウの 呼 び 出 し( 終 了 ボタン) 21 (10) 終 了 ボタン 処 理 の 記 述 21 (11) コードウィンドウの 呼 び 出 し(OKボタン) 22 (12) OKボタン 処 理 の 記 述 22 (13) 動 作 確 認 23 6 サンプル 作 品 の 作 成 (1) サンプル 作 品 フォームの 作 成 24 (2) ユーザーフォームを 起 動 する 処 理 の 記 述 25 (3) ショートカットキーの 登 録 26 (4) 一 覧 表 を 印 刷 するマクロの 作 成 27 (5) マクロを 中 止 するマクロの 作 成 30 (6) データを 消 去 するマクロの 作 成 31 (7) 集 計 処 理 のマクロの 作 成 33 (8) ソート( 成 績 順 番 号 順 )のマクロの 作 成 35

7 Excel VBA Ⅰ VBA(Microsoft Visual Basic for Applications)の 基 礎 1 VBAとは VBA(Microsoft Visual Basic for Applications)は プログラミング 言 語 の Visual Basic を Excel や Word などのマイクロソフト 社 のアプリケ ーションソフトでプログラム 言 語 として 使 えるようにしたものです Excel の 操 作 を 自 動 化 するプログラムであるマクロは その 一 つ 一 つの 命 令 がVBAで 記 述 されています VBAは[Visual Basic Editor]を 使 って 確 認 や 編 集 ができま す 2 VBAでできること マクロで 実 行 したい 処 理 をマクロの 記 録 機 能 を 使 って Excel で 操 作 するとマ クロが 自 動 記 録 されます 記 録 された 操 作 手 順 は 自 動 的 にVBAによるコマン ド( 命 令 )に 変 換 され モジュール と 呼 ばれるシートに 記 述 されます さ らにマクロの 記 録 機 能 で 作 成 されたプログラムを 編 集 して より 高 度 なマクロ を 作 成 することができます 3 マクロを 利 用 する 理 由 大 量 のデータに 同 じ 操 作 を 繰 り 返 し 行 うような 作 業 は マクロにすると 簡 単 な 操 作 で 短 時 間 に 実 行 できます 手 作 業 で 行 っていた 一 連 の 操 作 をマクロで 自 動 化 して 行 うことにより 作 業 効 率 を 上 げ 作 業 時 間 の 短 縮 や 操 作 ミスを 減 らす ことが 可 能 です 参 考 1 モジュールとは マクロを 作 成 ( 記 述 )するための 専 用 シートです マクロの 記 録 機 能 や 手 動 でコードを 記 述 する 場 合 は 標 準 モジュール という モジュールを 使 用 します 標 準 モジュールはマクロの 記 録 機 能 からマクロを 作 成 した 場 合 は 自 動 的 に 挿 入 されます モジュールには 以 下 の4 種 類 があり プロジェクトという 概 念 でモジュールを 管 理 します フ ロシーシ ャ モシ ュール Sub プロシージャ = 1つのマクロ 標 準 モジュール Sub プロシージャ プロジェクト ユーザーフォーム (モシ ュールを 管 理 ) クラスモジュール Excel オブジェクト 標 準 モジュール 上 で 複 数 の マクロ(Sub プロシージャ)を 管 理 する 7-1

参 考 2 マクロの 警 告 メッセージ Excel でマクロのセキュリティレベルを[ 中 ]に 設 定 すると マクロを 含 むブッ クを 開 くときに 警 告 メッセージが 表 示 されます ([ツール]-[マクロ]-[セキュ リティ])マクロを 使 用 したいときには[マクロを 有 効 にする]をクリックします コンピュータウィルスはマクロに 含 まれることもあるため 使 用 したいマクロ の 安 全 性 を 確 認 してからマクロを 有 効 にしましょう 4 VBE(Visual Basic Editor)の 画 面 構 成 Visual Basic Editor の 起 動 方 法 には 次 の3 通 りがあります メニューから[ツール] [マクロ] [Visual Basic Editor]を 選 択 [Alt]キーを 押 しながら[F11]キーを 押 す [Visual Basic] ツールバーの[Visual Basic Editor]を 選 択 3 1 2 1 プロジェクトエクスプローラ Excel のブックの 構 成 要 素 が 階 層 構 造 で 表 示 され 一 つのブックをプロジ ェクトとして 管 理 しています ブックに 含 まれるシートやフォームおよびモ ジュール 等 が 一 覧 で 表 示 され 切 り 替 えることができます 2 プロパティウィンドウ プロジェクトエクスプローラで 選 択 された 項 目 の 属 性 (プロパティ)が 一 覧 で 表 示 されます 3 コードウィンドウ マクロの 内 容 の 表 示 や 編 集 を 行 うウィンドウです 7-2

VBA の 画 面 ではフォーム( 画 面 )の 作 成 時 にさらに 次 のウィンドウが 表 示 されます 4 5 4 フォームウィンドウ フォームのデザインが 表 示 されます 5 ツールボックス( 表 示 メニュー ツールボックス ) フォームに 新 しいボタンやラベル 等 を 追 加 する 場 合 に 用 います 各 ウィンドウのサイズや 位 置 は 任 意 に 調 整 可 能 です 参 考 3 Excel と VisualBasicEditor の 画 面 切 り 替 え [ALT]+[F11]で Excel と VisualBasicEditor を 相 互 に 切 り 替 えることができます またタスクバーからのクリックでも 切 り 替 えが 可 能 です Ⅱ マクロの 記 録 1 マクロの 記 録 機 能 Excel ではマクロの 記 録 機 能 を 使 用 すると 自 分 の 行 った 一 連 の 操 作 をそのま まマクロとして 作 成 することができます ここでは 校 務 処 理.xls ファイル の 1 学 期 シートで グラフを 含 めた 個 票 を 印 刷 プレビューするマクロを 記 録 します 7-3

(1) [ツール]メニューの[マクロ]から[ 新 しいマクロの 記 録 ]を 選 択 します マクロ 名 マクロ 名 を 省 略 すると 自 動 的 に Macro1, Macro2 などの 名 前 が 付 けられます 名 前 は 半 角 255 文 字 以 内 で なるべ く 処 理 の 内 容 がわかるような 名 前 を 付 けましょう (2) [マクロの 記 録 ]ダイアログボックスは そのまま をクリック します (3) 印 刷 範 囲 の[L13]~[S35]を 範 囲 選 択 します (4) [ファイル]メニューの[ 印 刷 範 囲 ]から[ 印 刷 範 囲 の 設 定 ]を 選 択 し 上 図 の ように 印 刷 範 囲 を 設 定 します (5) [ファイル]メニューから[ 印 刷 プレビュー]を 選 択 します (6) 印 刷 プレビュー 画 面 が 表 示 されたら[ 閉 じる]をクリックします (7) [ツール]メニューの[マクロ]から[ 記 録 終 了 ]を 選 択 します 以 上 で 個 票 を 印 刷 プレビューするマクロが 記 録 されました 操 作 を 間 違 えたら いったん 記 録 を 終 了 した 後 [マクロ 名 ]ボックスに 再 度 同 じ 名 前 を 入 力 して 記 録 を 開 始 します 既 存 のマクロを 置 き 換 えるかどうかのメッセージが 表 示 され 記 録 のやり 直 しができます マクロの 保 存 [Visual Basic Editor]の 保 存 の 他 に Excel 側 でブックを 上 書 き 保 存 しても マクロの 編 集 内 容 を 保 存 できます 7-4

2 記 録 したマクロの 実 行 1で 記 録 された 個 票 を 印 刷 プレビューするマクロを 実 行 します (1) [ツール]メニューの[マクロ]から[マクロ]を 選 択 します (2) [マクロ]ダイアログボックスの マクロ 一 覧 より Macro1 を 選 択 し [ 実 行 ]ボタンをクリックします (3) 1で 記 録 されたマクロが 実 行 され 個 票 が 印 刷 プレビューされます 3 記 録 したマクロの 内 容 確 認 1で 記 録 したマクロの 内 容 を 確 認 します それぞれの 操 作 手 順 は 自 動 的 にVBAによるコマンド( 命 令 )に 変 換 され 標 準 モジュールと 呼 ばれるシートに 記 述 されています [Visual Basic Editor]を 起 動 し [プロジェクトエクスプローラ]の [ 標 準 モジュール]の 左 側 のプラス 記 号 (+)をクリックします さらに[Module1]をダブルクリックすると コードウィンドウが 表 示 され 自 動 記 録 されたマクロの 内 容 が 表 示 されます ([Module1] を 選 択 し[コードの 表 示 ]をクリックしても 表 示 できます ) コート の 表 示 7-5

個 票 データを 印 刷 プレビューするマクロ( 自 動 記 録 ) Sub Macro1() ' ' Macro1 Macro ' マクロ 記 録 日 : 2004/4/28 ユーザー 名 : 新 潟 県 立 教 育 センター ' 1 2 ' Range("L13:S35").Select ActiveSheet.PageSetup.PrintArea = "$L$13:$S$35" ActiveWindow.SelectedSheets.PrintPreview End Sub 3 1 Sub ステートメント(マクロ 名 ) マクロは Sub マクロ 名 () で 始 まり End Sub で 終 了 します プログラムの 開 始 と 終 了 を 表 します このまとまりを Sub プロシージャといい 複 数 の 命 令 文 で 記 述 されています 2 コメント シングルクォーテーション( )で 始 まるコメントは 画 面 上 では 緑 色 で 表 示 さ れ マクロの 動 作 とは 無 関 係 です 処 理 の 説 明 などを 記 述 したいときに 使 用 しま す 3 命 令 文 (コマンド) マクロで 実 行 する 操 作 内 容 を 記 述 したもので 1つ1つの 命 令 文 を ステート メント と 呼 びます 1 行 に 記 述 できない 長 いステートメントは 半 角 のスペー スとアンダースコア(_)を 用 いて2 行 以 上 に 分 けて 記 述 します また 全 体 の 構 成 を 見 やすくするために インデント( 段 落 の 字 下 げ)を 使 用 して 記 述 します この 命 令 文 は セル L13~S35 を 範 囲 選 択 し 印 刷 範 囲 の 設 定 を 行 った 後 で 印 刷 プレビューをしています 参 考 4 インデント [Tab]キーを 押 すとインデント [Shift]+[Tab]でインデントを 戻 します 参 考 5 わからない 用 語 を 調 べるには プログラミング 用 語 の 意 味 や 使 用 例 を 調 べるにはヘルプが 便 利 です コードウィンドウで 目 的 の 用 語 をクリックし [F1]キーを 押 すとヘルプが 表 示 されます ただし VisualBasic のヘルプは 標 準 インストールではインス トールされないため 追 加 インストールする 必 要 があります 7-6

参 考 6 自 動 構 文 チェック 機 能 ステートメントを 入 力 して 改 行 すると [VisualBasicEditor]は 入 力 が 確 定 されたと 判 断 して 構 文 が 正 しいかチェックを 行 います 正 しく 入 力 されて いた 場 合 には 大 文 字 小 文 字 が 自 動 変 換 されますが 間 違 った 場 合 は 自 動 変 換 されません また ステートメントは 赤 く 表 示 され コンパイルエラー のメッセージが 表 示 されます (ただし 検 出 できないエラーもあります) コンパイルエラー: 構 文 上 の 誤 りがある 場 合 に 発 生 するエラー 参 考 7 入 力 支 援 機 能 VBA 関 数 やステートメントなどの 入 力 候 補 を 表 示 させ 効 率 よく 入 力 する 機 能 です [Ctrl]+[space]で 入 力 候 補 の 一 覧 が 表 示 されます 例 )Msgbox 関 数 を 使 用 したい 場 合 [Ctrl]+[space]の 後 に [m],[s]と 入 力 していくと 目 的 の 候 補 が 表 示 されます Msgbox を 選 択 したい 場 合 は[ ]で 選 択 し[Tab]を 押 すとコードウィンドウに 入 力 されます また 書 式 がわからない 場 合 は Msgbox のあとに 半 角 のスペースを 入 力 すると ヒントが 表 示 されます 7-7

4 記 録 したマクロの 編 集 (1) コードの 記 述 1で 記 録 したマクロを 全 員 分 のプレビューができるように 編 集 します また 処 理 を 中 止 するかどうかのメッセージも 表 示 してみましょう Macro1 をコピー 貼 り 付 けして 新 しいマクロを 作 成 し 次 のように 編 集 します Sub Macro1()から End Sub まで 範 囲 選 択 後 コピーし End Sub の 後 ろで 改 行 し 貼 り 付 けをします マクロの 境 界 に 区 分 線 が 自 動 的 に 表 示 されます 大 かっこ 中 かっこ 1~9 矢 印 (Macro1 より)は 入 力 しないで 下 さい 7は 表 記 上 2 行 に 分 けていますが 1 行 に 続 けて 記 述 して 下 さい 全 員 の 個 票 データを 印 刷 プレビューするマクロ Sub Macro1_syuusei() 1 ' ' 全 員 分 プレビューできるように 修 正 ' マクロ 記 録 日 : 2004/2/25 ユーザー 名 : 新 潟 県 立 教 育 センター 2 ' ' ' 変 数 の 宣 言 Dim Cnt As Integer Dim YesNo As Integer 3 'ループ For Cnt = 1 To 10 ' 印 刷 対 象 設 定 Cells(15, 12).Value = Cells(14 + Cnt, 2) 5 ' 個 票 印 刷 プレビューを 実 行 Range("L13:S35").Select 6 (Macro1 ActiveSheet.PageSetup.PrintArea = "$L$13:$S$35" より) ActiveWindow.SelectedSheets.PrintPreview ' 終 了 確 認 YesNo = MsgBox(" 印 刷 プレビューを 中 止 しますか?", vbyesno + vbquestion, " 選 択 ") 7 4 'If then End If 文 If YesNo = vbyes Then 8 End 9 End If Next Cnt End Sub 7-8

1 Sub ステートメント(マクロ 名 ) Macro1_syuusei に 変 更 します マクロ 名 には 重 複 しない 名 前 を 付 けます 2 コメント 全 員 分 プレビューできるように 修 正 とマクロの 説 明 を 加 えます 3 変 数 の 宣 言 変 数 とは 値 を 一 時 的 に 格 納 しておくための 入 れ 物 で マクロの 実 行 中 に 文 字 や 数 値 などの 値 を 入 れて 使 用 します 変 数 の 値 は 自 由 に 書 き 換 えることができるので 変 動 する 値 を 入 れることができます 書 式 : Dim 変 数 名 As データ 型 Dim Cnt As Integer は 変 数 Cnt を 整 数 型 の 変 数 (Integer)として 定 義 すると いう 意 味 です 変 数 名 は 半 角 255 文 字 以 内 でわかりやすい 名 前 をつけます 既 に VBA で 定 義 されて いる 単 語 は 使 えません 注 ) 変 数 は 宣 言 をしなくても 使 用 できますが 必 要 以 上 にメモリを 使 うので 効 率 が 悪 くなります 4 For~Next ステートメント 同 じ 処 理 を 指 定 した 回 数 だけ 繰 り 返 すには For~Next を 使 います 同 じ 処 理 を 繰 り 返 すことを ループ といい ループを 使 用 すると 同 じ 処 理 を 何 度 も 記 述 しなくても 済 むため 処 理 の 流 れが 分 かりやすくなります For~Next は 指 定 した 回 数 だけ For~Next の 間 にある 命 令 文 を 繰 り 返 し 実 行 します 書 式 : For カウンタ = 初 期 値 TO 最 終 値 Step 増 加 分 命 令 文 Next カウンタ 引 数 : カウンタ: 繰 り 返 し 回 数 をカウントするための 変 数 を 指 定 します 初 期 値 :カウンタの 初 期 値 を 指 定 します 最 終 値 :カウンタの 最 終 値 を 指 定 します 増 加 分 :ループを 繰 り 返 すごとにカウンタに 加 算 される 値 を 指 定 します 省 略 すると 加 算 される 値 は1となります 命 令 文 : 繰 り 返 し 実 行 させたい 処 理 を 指 定 します 7-9

使 用 例 : For i = 1 To 3 命 令 A Next i カウンタ i の 値 が 1,2,3と 変 化 する 間 命 令 Aの 処 理 が 繰 り 返 され 4になると 繰 り 返 しは 終 了 します 命 令 文 は3 回 繰 り 返 されます カウンタに1 代 入 カウンタ3 以 下? いいえ はい 繰 り 返 し 実 行 命 令 Aの 実 行 カウンタに1 加 算 終 了 Macro1_syuusei のマクロでは5~8の 命 令 ( 処 理 )を10 回 ( 全 員 分 ) 繰 り 返 します 5 Cells プロパティ Cells( 行 番 号, 列 番 号 )でセルの 指 定 に 使 います 行 番 号 や 列 番 号 に 変 数 を 使 用 することもできます 例 : Cells(15,12)はセル L15 になります Cells(14 + Cnt, 2)は 行 番 号 に 変 数 を 使 用 しており For~Next ステートメントの 中 で 変 数 Cnt は1ずつ 加 算 されるので 指 定 されるセルは 毎 回 変 わります Value プロパティ セルに 入 力 されている 値 を 持 ちます またセルに 値 を 代 入 することもでき その 場 合 は 次 のように 記 述 します 書 式 :Cells オブジェクト.Value = 代 入 する 値 代 入 する 値 : 文 字 列 日 付 時 刻 の 場 合 はダブルクォーテーションで 囲 み 数 値 の 場 合 はそのまま 記 述 します Cells(15,12).Value = 10 セル L15 に 10 を 代 入 Cells(15,12).Value = Cells(14 + Cnt, 2) セル L15 に 右 辺 のセルの 値 を 代 入 7-10

6 Range オブジェクト Cells プロパティと 同 様 にセルの 指 定 をしますが 指 定 の 仕 方 が 異 なります Range( セル 番 地 ) 例 : Range( A4 )は Cells(4,1)と 同 じ 意 味 になります Range( A4:C8 ) セル A4:C8 を 指 定 します Select メソッド セルやセル 範 囲 を 選 択 します Range( L13:S35 ).Select でセル L13:S35 を 選 択 します 参 考 8 オブジェクト プロパティ メソッド オブジェクトとは Excel のワークシートやセルなどの 構 成 要 素 です プロパティはオブジェクトが 持 っている 属 性 のことです メソッドはオブジェクトが 持 っている 固 有 の 操 作 命 令 です 例 ): ワークシートオブジェクトではワークシート 名 やワークシートの 枚 数 が プロパティであり ワークシートを 追 加 したり 削 除 することはメソッド になります 7 Msgbox 関 数 ダイアログボックスにメッセージを 表 示 し ボタンがクリックされるのを 待 って どのボタンがクリックされたのかを 示 す 値 ( 戻 り 値 )を 返 します 書 式 :Msgbox( メッセージ 内 容,ボタンの 種 類, タイトルバーの 表 示 内 容 ) 引 数 :メッセージ 内 容 にはダイアログボックス 内 にメッセージとして 表 示 する 文 字 列 を 指 定 します ボタンの 種 類 :vbyesno : はい いいえ のボタン 表 示 vbquestion : 問 合 せメッセージアイコン 表 示? MsgBox(" 印 刷 プレビューを 中 止 しますか?", vbyesno + vbquestion, " 選 択 ")は 次 のダイアログボックスを 表 示 します 注 :MsgBox 関 数 はその 他 にも 引 数 がありますが 本 書 では 省 略 します 詳 しくは VisualBasic のヘルプなどを 参 照 してください 7-11

次 に MsgBox 関 数 の 左 辺 を 見 てみましょう YesNo=MsgBox(" 印 刷 プレビューを 中 止 しますか?", vbyesno+vbquestion," 選 択 ") これは 変 数 YesNo に MsgBox 関 数 の 戻 り 値 を 代 入 するという 意 味 です 戻 り 値 はクリックしたボタンにより 次 の 値 が 入 ります はい をクリック vbyes いいえ をクリック vbno 8 If ~ then ~ else ステートメント ある 条 件 を 指 定 して 条 件 を 満 たす 場 合 と 満 たさない 場 合 で 処 理 を 分 けることを 条 件 分 岐 といい 条 件 を 満 たす 場 合 を 真 満 たさない 場 合 を 偽 といいます 条 件 分 岐 には 次 の 二 つの 場 合 があります 条 件 が 真 の 場 合 のみ 実 行 書 式 :If 条 件 1 Then 命 令 A( 真 の 場 合 ) End If はい 条 件 1 命 令 Aの 実 行 いいえ 条 件 が 真 の 場 合 と 偽 の 場 合 で 別 の 処 理 を 実 行 書 式 :If 条 件 2 Then 命 令 A( 真 の 場 合 ) Else 命 令 B( 偽 の 場 合 ) End If はい 条 件 2 いいえ 命 令 Aの 実 行 命 令 Bの 実 行 7-12

9 End ステートメント プログラムの 実 行 を 終 了 します 任 意 の 場 所 に 指 定 可 能 です If YesNo = vbyes Then End End If 変 数 YesNo が vbyes ならばプログラムを 終 了 します つまり 前 述 のダイアログ ボックスで はい をクリックするとプログラムが 終 了 します 10 動 作 確 認 ([VisualBasicEditor]より) コード 内 の 任 意 の 位 置 をクリックし[Sub/ユーザーフォームの 実 行 ]をクリック すると[VisualBasicEditor]からマクロが 実 行 できます ([F5]でも 可 ) 5 ユーザーフォームに 登 録 専 用 のフォーム( 画 面 )を 作 成 してマクロを 登 録 しましょう 次 のフォームからプレビューしたい 範 囲 を 指 定 して 実 行 できるようにします まず 最 初 にフォームを 作 成 し その 後 でマクロを 作 成 していきます フォームからマクロを 実 行 できるようになると マクロや VBA を 知 らない 人 でも 簡 単 に 操 作 することができます ラベル コンボボックス コマンドボタン (1) 個 票 印 刷 フォームの 作 成 1 [ツール]メニューの[マクロ]から[Visual Basic Editor]を 選 択 し Visual Basic Editor を 起 動 します 2 [ 挿 入 ]メニューから[ユーザーフォーム]を 選 択 し 新 規 ユーザーフォー ムを 追 加 します 7-13

3 [プロパティウィンドウ]から[Caption] の 値 を 個 票 印 刷 に 変 更 します 同 時 にフォームのタイトルも 個 票 印 刷 になったことを 確 認 します [Caption]フ ロハ ティはオブジェクトの 上 に 表 示 するオブジェクト 名 または 説 明 テキストを 設 定 します 4 [ツールボックス]の[ラベル] を ク リックします マウスを[フォームウィンドウ] に 移 動 し クリックします この 操 作 をもう 一 度 行 い ラベルを2つ 作 成 します [プロパティウィンドウ]の[Caption]の 値 をそ れぞれ 印 刷 開 始 印 刷 終 了 に 変 更 します 5 [ツールボックス]の[コンボボックス]をク リックします マウスを[フォームウィンドウ] に 移 動 し クリックします この 操 作 をもう 一 度 行 い コンボボックスを2つ 作 成 します [プ ロパティウィンドウ]の[Style]をどちらも 2 に 変 更 します 次 頁 の 図 を 参 考 にしながら 大 きさを 調 整 しま す Style フ ロハ ティは 値 の 選 択 方 法 または 設 定 方 法 を 設 定 します 2 はリストから 値 を 選 択 します 7-14

6 [ツールボックス]の[コマンドボタン]をク リックします マウスを[フォームウィンドウ] に 移 動 し クリックします この 操 作 をもう 一 度 行 い コマンドボタンを2つ 作 成 します [プ ロパティウィンドウ]の[Caption]の 値 をそれぞ れ OK 終 了 に 変 更 します 7 最 後 にフォームの 大 きさを 調 整 しま す 以 上 でフォームが 作 成 できました 次 にマクロを 作 成 します 7-15

(2) コードウィンドウの 呼 び 出 し [OK]ボタンをクリックしたときの 処 理 を 記 述 します 1 [OK]ボタンを 選 択 し 四 隅 に 印 が 表 示 された 状 態 で [プロジェクト エクスプローラ]の[コードの 表 示 ] をクリックし [コードウィン ドウ]を 呼 び 出 します (3) マクロを 実 行 する 処 理 の 記 述 1 呼 び 出 された[コードウィンドウ]の[CommandButton1_Click]イベントに 以 下 の 処 理 を 記 述 します マウスのクリックや キーを 押 すなど オブジェクトで 認 識 される 動 作 をイベントと 呼 びます Private Sub CommandButton1_Click() 'ユーザーフォームを 非 表 示 にする UserForm1.Hide ' 印 刷 プレビューマクロを 実 行 Call Macro1 End Sub この 部 分 を 記 述 します 1 Private ステートメント 省 略 可 能 です 2 Hide メソット UserForm1 を 非 表 示 にします 3 Call ステートメント Sub フ ロシーシ ャを 呼 び 出 し 制 御 を 渡 します ここでは Macro1 に 制 御 を 渡 す(Macro1 を 実 行 する) という 意 味 です 2 [コードウィンドウ] 右 上 の 7-16 をクリックし ウィンドウを 閉 じます

(4) ユーザーフォームを 起 動 する 処 理 の 記 述 1 [プロジェクトエクスプローラ]で[ 標 準 モジュール]から[Module1]を 選 択 し [コー ドの 表 示 ] をクリックします 2 最 下 行 にサブプロシージャ 個 票 印 刷 を 作 成 し 以 下 の 処 理 を 記 述 します Sub 個 票 印 刷 () ' 個 票 印 刷 フォーム 呼 び 出 し UserForm1.Show End Sub この 部 分 を 記 述 します Show メソット UserForm1 を 表 示 します 3 [コードウィンドウ] [ 個 票 印 刷 フォーム] Visual Basic Editor の をクリックし ウィンドウを 閉 じます (5) ショートカットキーの 登 録 マクロはショートカットキーに 登 録 することができます 1 [ツール]メニューの[マクロ]から[マクロ]を 選 択 します 2 [マクロ]ダイアログボックスの マクロ 一 覧 より [ 個 票 印 刷 ]を 選 択 し [オプション]ボタンを クリックします 7-17

3 [マクロオプション]ダイアログボック スの[ショートカットキー] 欄 に q を 入 力 し をクリックし ます Excel の 既 定 のショートカットキーと 競 合 した 場 合 は マクロの ショートカットキーが 優 先 されます 4 [マクロ]ダイアログボックスに 戻 り ます [ 実 行 ]ボタンをクリックし マクロ を 実 行 します 5 [ 個 票 印 刷 フォーム]が 表 示 されます 6 [ 個 票 印 刷 フォーム]の をクリックし フォームを 閉 じます (6) 動 作 確 認 1 [Ctrl]+[q]を 押 して 個 票 印 刷 フォームが 表 示 されることを 確 認 します 2 [OK]ボタンで 個 票 が 印 刷 プレビューされることを 確 認 します 3 印 刷 プレビュー 画 面 を 閉 じます 7-18

(7) コードウィンドウの 呼 び 出 し( 初 期 化 処 理 ) 初 期 化 処 理 とはフォームで 使 用 する 変 数 等 に 初 期 値 を 設 定 する 処 理 で Initialize イベントで 記 述 します ここではコンボボックスのリストに 値 を 設 定 し 初 期 値 を 表 示 します Initialize イヘ ント フォームが 読 み 込 まれて 表 示 される 前 に 発 生 します 1 [ツール]メニューの[マクロ]から[Visual Basic Editor]を 選 択 します 2 [プロジェクトエクスプローラ]で [UserForm1]を 選 択 し [オブジェクトの 表 示 ] をクリックしフォームデ ザイン 画 面 を 表 示 します 3 フォームを 選 択 した 状 態 で [プロジェクトエクスプローラ]の 左 上 のアイ コン をクリックし[コードウィンドウ]を 呼 び 出 します 7-19

4 [コードウィンドウ] 右 上 のコンボボックスより Initialize を 選 択 し UserForm_Initialize イベント 処 理 を 記 述 する 箇 所 を 呼 び 出 します (8) 初 期 化 処 理 の 記 述 UserForm_Initialize イベントに 以 下 の 処 理 を 記 述 します Private Sub UserForm_Initialize() 'コンボボックスの 値 の 初 期 設 定 ComboBox1.List = Range("C15:C24").Value ComboBox2.List = Range("C15:C24").Value ' 現 在 の 生 徒 を 初 期 表 示 ComboBox1.Text = Cells(15, 13) ComboBox2.Text = Cells(15, 13) End Sub 1 List フ ロハ ティはコンボボックスのリストの 項 目 を 設 定 します 2 Text フ ロハ ティはコンボボックスに 文 字 列 を 設 定 します 7-20

(9) コードウィンドウの 呼 び 出 し( 終 了 ボタン) [ 終 了 ]ボタンをクリックしたときの 処 理 を 記 述 します [ 終 了 ] ボタンを 選 択 した 状 態 で [プロジェクトエクスプローラ] 左 上 の アイコン をクリックし[コードウィンドウ]を 呼 び 出 します (10) 終 了 ボタン 処 理 の 記 述 呼 び 出 された[コードウィンドウ]の [CommandButton2_Click]イベントに 以 下 の 処 理 を 記 述 します Macro1_syuusei よりコピーすると 簡 単 です Private Sub CommandButton2_Click() Dim YesNo As Integer ' 終 了 確 認 YesNo = MsgBox(" 個 票 印 刷 を 終 了 しますか?", vbyesno + vbquestion, " 選 択 ") If YesNo = vbyes Then 'Yes の 場 合 終 了 End End If End Sub 表 記 上 2 行 に 分 けていますが 1 行 に 続 けて 記 述 して 下 さい 7-21

(11) コードウィンドウの 呼 び 出 し(OKボタン) OK ボタンをクリックすると 指 定 した 範 囲 ( 生 徒 )の 個 票 が 連 続 で プレビューできるように 変 更 します OK ボタンを 選 択 した 状 態 で [プロジェクトエクスプローラ] 左 上 の アイコンを をクリックし[コードウィンドウ]を 呼 び 出 します (12) OKボタン 処 理 の 記 述 1 呼 び 出 された[コードウィンドウ]の [CommandButton1_Click]イベントを 以 下 のように 変 更 します Private Sub CommandButton1_Click() 'ユーザーフォームを 非 表 示 にする UserForm1.Hide Dim Cnt As Integer 'カウンタ Dim Combono1 As Integer Dim Combono2 As Integer 'コンボボックスのインデックス 取 得 Combono1 = ComboBox1.ListIndex Combono2 = ComboBox2.ListIndex ' 開 始 > 終 了 の 場 合 実 行 しない If Combono1 > Combono2 Then MsgBox " 開 始 > 終 了 です ",, " 範 囲 選 択 エラー" Exit Sub End If 'ループ For Cnt = Combono1 To Combono2 ' 印 刷 対 象 設 定 Cells(15, 12).Value = Cells(15 + Cnt, 2) Application.ScreenUpdating = True ' 画 面 を 更 新 する ' 印 刷 プレビューマクロを 実 行 Call Macro1 Next Cnt End Sub 7-22

1 ListIndex フ ロハ ティ リストの 中 で 現 在 選 択 されている 行 のインデックス ( 行 数 から 1 を 引 いた 数 )を 返 します リストの 1 行 目 を 選 択 すると ListIndex フ ロハ ティには 0 が 設 定 され 2 行 目 を 選 択 すると 1 が 設 定 されます 2 Msgbox 関 数 メッセージの 表 示 だけなら Msgbox() の()は 不 要 です 3 Exit Sub ステートメント このステートメントのある Sub フ ロシーシ ャを 直 ちに 抜 けます 制 御 は Sub フ ロシーシ ャを 呼 び 出 したステートメントの 次 のステートメントに 移 ります 4 ScreenUpdating フ ロハ ティ True の 場 合 マクロの 実 行 中 に 画 面 表 示 を 更 新 します 2 [コードウィンドウ] 右 上 の をクリックし 閉 じます 3 個 票 印 刷 フォームデザイン 画 面 右 上 の をクリックし フォームデザ イン 画 面 を 閉 じます 4 [Visual Basic Editor] 画 面 の 右 上 の をクリックし [Visual Basic Editor] 画 面 を 閉 じます (13) 動 作 確 認 1 [Ctrl]+[q]を 押 して 個 票 印 刷 フォームを 表 示 し 登 録 されたマクロが 実 行 されることを 確 認 します 2 個 票 印 刷 フォーム 画 面 を 閉 じます 以 上 で 個 票 印 刷 フォームからマクロを 実 行 できるようになりました 7-23

6 サンプル 作 品 の 作 成 専 用 のフォーム(UserForm2)を 作 成 し それぞれのマクロを 登 録 します また フォームはショートカットキーで 起 動 できるようにします マクロの 内 容 一 覧 表 印 刷 成 績 一 覧 表 を 印 刷 する マクロ 中 止 確 認 メッセージを 表 示 して はい を 選 択 したら 中 止 する データ 消 去 中 間 考 査 期 末 考 査 欠 席 時 数 欄 のデータを 消 去 する 集 計 処 理 学 年 シートに 各 学 期 の 平 均 点 を 転 載 し 欠 席 時 数 を 集 計 する ソート( 成 績 順 ) 学 年 シートを 成 績 順 に 並 べ 替 える ソート( 番 号 順 ) 学 年 シートを 番 号 順 に 並 べ 替 える (1) サンプル 作 品 フォームの 作 成 1 [ツール]メニューの[マクロ]から[Visual Basic Editor]を 選 択 します 2 [ 挿 入 ]メニューの[ユーザーフォーム]を 選 択 し 新 規 ユーザーフォー ムを 追 加 します 3 フォームの[プロパティウィンドウ]の [Caption]の 値 を サンプル 作 品 に 変 更 し フォームのタイトルを サン プル 作 品 にします 4 コマンドボタンを6つ 追 加 し 各 コマ ンドボタンの[プロパティウィンドウ] の[Caption]の 値 をそれぞれ 一 覧 表 印 刷 マクロ 中 止 データ 消 去 集 計 処 理 ソート( 成 績 順 ) ソート( 番 号 順 ) に 変 更 します 7-24

作 成 した 順 に 左 からボタンを 配 置 し て 下 さい 一 覧 表 印 刷 :CommandButton1 マクロ 中 止 :CommandButton2 データ 消 去 :CommandButton3 集 計 処 理 :CommandButton4 ソート( 成 績 順 ):CommandButton5 ソート( 番 号 順 ):CommandButton6 5 サンプル 作 品 フォームデザイン 画 面 右 上 の デザイン 画 面 を 閉 じます をクリックし フォーム (2) ユーザーフォームを 起 動 する 処 理 の 記 述 1 [プロジェクトエクスプローラ]で [Module1]を 選 択 して 左 上 の アイ コンをクリックします 2 サブプロシージャ サンプル 作 品 を 作 成 し 以 下 の 処 理 を 記 述 します Sub サンプル 作 品 () 'サンプル 作 品 フォーム 呼 び 出 し UserForm2.Show End Sub 3 Module1 の[コードウィンドウ] 右 上 の 4 [Visual Basic Editor] 画 面 の 右 上 の をクリックし 閉 じます をクリックし 閉 じます 7-25

(3) ショートカットキーの 登 録 1 [ツール]メニューの[マクロ]から[マクロ]を 選 択 します 2 [マクロ]ダイアログボックスのマクロ 一 覧 より サンプル 作 品 を 選 択 し オプション ボタンをクリックします 3 [マクロオプション]ダイアログボッ クスのショートカットキー 欄 に t を 入 力 し をクリッ クします 4 マクロ 画 面 に 戻 ります 実 行 ボタンをクリックし マク ロを 実 行 します 5 サンプル 作 品 フォームが 表 示 されます 6 サンプル 作 品 フォーム 右 上 の をクリックし 閉 じます 7 [Ctrl]+[t]を 押 して サンプル 作 品 フォームが 表 示 されることを 確 認 し ます 8 サンプル 作 品 フォーム 画 面 を 閉 じます 7-26

(4) 一 覧 表 を 印 刷 するマクロの 作 成 一 覧 表 を 印 刷 するマクロを 作 成 します ここでは 印 刷 時 に 現 在 選 択 され ている 範 囲 を 印 刷 する 機 能 を 利 用 します 1 マクロの 記 録 [ツール]メニューの[マクロ]から[ 新 しいマクロの 記 録 ]を 選 択 します マクロの 記 録 画 面 で マクロ 名 Macro2 を 確 認 し を クリックします 印 刷 範 囲 の[A12]~[J28]を 範 囲 選 択 します [ファイル]メニューの[ 印 刷 ]を 選 択 し 印 刷 画 面 を 表 示 します [ 印 刷 ]ダイアログボックスで 印 刷 対 象 に 選 択 した 部 分 を 選 択 し をクリックし ます 一 覧 表 が 印 刷 されます [ツール]メニューの[マクロ]から[ 記 録 終 了 ]を 選 択 します 以 上 で 一 覧 表 を 印 刷 するマクロが 記 録 されました 7-27

2 コードウィンドウ 呼 び 出 し [ツール]メニューの[マクロ]から[Visual Basic Editor]を 選 択 します [プロジェクトエクスプローラ]で [UserForm2]を 選 択 して 左 上 の ア イコンをクリックし [フォームデザイ ン]を 表 示 します [ 一 覧 表 印 刷 ]ボタンを 選 択 した 状 態 で [プロジェクトエクスプローラ] 左 上 の アイコンをクリックし[コードウィンドウ]を 呼 び 出 します 7-28

3 処 理 の 記 述 呼 び 出 された[コードウィンドウ]の [CommandButton1_Click]イベントに 以 下 の 処 理 を 記 述 します Private Sub CommandButton1_Click() ' 一 覧 表 印 刷 マクロを 実 行 Call Macro2 End Sub [コードウィンドウ] 右 上 の をクリックし 閉 じます [サンプル 作 品 フォームデザイン] 右 上 の をクリックし 閉 じます [Visual Basic Editor] 画 面 の 右 上 の をクリックし 閉 じます 4 動 作 確 認 [Ctrl]+[t]を 押 して サンプル 作 品 フォームを 表 示 し 登 録 されたマクロ が 実 行 されることを 確 認 します サンプル 作 品 フォーム 画 面 を 閉 じます 7-29

(5) マクロを 中 止 するマクロの 作 成 確 認 メッセージを 表 示 して はい を 選 択 したときマクロを 中 止 するマク ロを 作 成 します 1 コードウィンドウの 呼 び 出 し (4)-2の 手 順 で [マクロ 中 止 ]ボタンの[コードウィンドウ]を 表 示 します 2 処 理 の 記 述 呼 び 出 された[コードウィンドウ]の [CommandButton2_Click]イベントに 以 下 の 処 理 を 記 述 します Private Sub CommandButton2_Click() Dim YesNo As Integer ' 終 了 確 認 YesNo = MsgBox("マクロを 中 止 しますか?", vbyesno + vbquestion, " 選 択 ") If YesNo = vbyes Then 'Yes の 場 合 終 了 End End If End Sub 表 記 上 2 行 に 分 けていますが 1 行 に 続 けて 記 述 して 下 さい [コードウィンドウ] 右 上 の をクリックし 閉 じます [サンプル 作 品 フォームデザイン] 右 上 の をクリックし 閉 じます [Visual Basic Editor] 右 上 の をクリックし 閉 じます 3 動 作 確 認 [Ctrl]+[t]を 押 して サンプル 作 品 フォームを 表 示 し 登 録 されたマクロ が 実 行 されることを 確 認 します サンプル 作 品 フォーム 画 面 を 閉 じます 7-30

(6) データを 消 去 するマクロの 作 成 一 覧 表 の 中 間 考 査 期 間 考 査 欠 席 時 数 の 欄 のデータを 消 去 するマ クロを 作 成 します 1 マクロの 記 録 [ツール]メニューの[マクロ]から[ 新 しいマクロの 記 録 ]を 選 択 します マクロの 記 録 画 面 でマクロ 名 Macro3 を 確 認 し OK ボタンをクリッ クします 消 去 する 範 囲 の[D15]~[E24] [H15]~[H24]を 選 択 します 複 数 の 範 囲 を 同 時 に 選 択 するには 1つの 範 囲 を 選 択 後 [Ctrl]キーを 押 したまま 次 の 範 囲 を 選 択 します [DEL]キーを 押 し 値 を 消 去 します [ツール]メニューの[マクロ]から[ 記 録 終 了 ]を 選 択 します 以 上 でデータを 消 去 するマクロが 記 録 されました 次 の 操 作 のため 元 に 戻 すボタン で 値 を 元 に 戻 しておきましょう 7-31

2 コードウィンドウの 呼 び 出 し (4)-2の 手 順 で [データ 消 去 ]ボタンの[コードウィンドウ]を 表 示 します 3 処 理 の 記 述 呼 び 出 された[コードウィンドウ]の [CommandButton3_Click]イベントに 以 下 の 処 理 を 記 述 します Private Sub CommandButton3_Click() 'データ 消 去 マクロを 実 行 Call Macro3 End Sub [コードウィンドウ] 右 上 の をクリックし 閉 じます [サンプル 作 品 フォームデザイン] 右 上 の をクリックし 閉 じます [Visual Basic Editor] 右 上 の をクリックし 閉 じます 4 動 作 確 認 [Ctrl]+[t]を 押 して サンプル 作 品 フォームを 表 示 し 登 録 されたマクロ が 実 行 されることを 確 認 します サンプル 作 品 フォーム 画 面 を 閉 じます 7-32

(7) 集 計 処 理 のマクロの 作 成 1 学 期 2 学 期 3 学 期 シートの 各 生 徒 の 平 均 点 を 学 年 シート に 転 載 し 各 学 期 の 欠 席 時 数 を 学 年 シートの 欠 席 時 数 に 集 計 するマク ロを 作 成 します (6)で 値 が 消 去 されたままの 場 合 各 生 徒 の 点 数 と 欠 席 時 数 を 入 力 しておい て 下 さい 1 コードウィンドウの 呼 び 出 し (4)-2の 手 順 で [ 集 計 処 理 ]ボタンの[コードウィンドウ]を 表 示 します 2 処 理 の 記 述 呼 び 出 された[コードウィンドウ]の [CommandButton4_Click]イベントに 以 下 の 処 理 を 記 述 します Private Sub CommandButton4_Click() Dim Cnt As Integer 'カウンタ( 各 学 期 シート 用 ) Dim Cnt2 As Integer 'カウンタ( 学 年 シート 用 ) Dim Heikin1 As Variant '1 学 期 の 平 均 の 値 Dim Heikin2 As Variant '2 学 期 の 平 均 の 値 Dim Heikin3 As Variant '3 学 期 の 平 均 の 値 Dim Kesseki1 As Integer '1 学 期 の 欠 席 日 数 Dim Kesseki2 As Integer '2 学 期 の 欠 席 日 数 Dim Kesseki3 As Integer '3 学 期 の 欠 席 日 数 ' 生 徒 の 人 数 分 ループ For Cnt = 1 To 10 For Cnt2 = 1 To 10 'シート 1 学 期 とシート 学 年 で 出 席 番 号 が 同 じ 列 を 探 す If Sheets("1 学 期 ").Cells(14 + Cnt, 2).Value = Sheets(" 学 年 ").Cells(14 + Cnt2, 2).Value Then Exit For End If Next Cnt2 表 記 上 2 行 に 分 けていますが 1 行 に 続 けて 記 述 して 下 さい 1 Variant 型 (テ ータ 型 ) 規 定 値 のデータ 型 明 示 的 にデータ 型 が 宣 言 されていないときは 全 ての 変 数 に 割 り 当 てられます 2 Exit For ステートメント For~Next ループを 抜 け Next ステートメントの 次 の ステートメントに 制 御 を 移 します For~Next ループがネスト ( 入 れ 子 ) 構 造 になっているときは Exit For のあるループの 1 つ 外 側 のループに 制 御 を 移 します 7-33

さらに 以 下 の 処 理 を 記 述 します ' 各 値 取 得 Heikin1 = IIf(IsError(Sheets("1 学 期 ").Cells(14 + Cnt, 6).Value), "", Sheets("1 学 期 ").Cells(14 + Cnt, 6).Value) Heikin2 = IIf(IsError(Sheets("2 学 期 ").Cells(14 + Cnt, 6).Value), "", Sheets("2 学 期 ").Cells(14 + Cnt, 6).Value) Heikin3 = IIf(IsError(Sheets("3 学 期 ").Cells(14 + Cnt, 6).Value), "", Sheets("3 学 期 ").Cells(14 + Cnt, 6).Value) Kesseki1 = IIf(IsError(Sheets("1 学 期 ").Cells(14 + Cnt, 8).Value), 0, Sheets("1 学 期 ").Cells(14 + Cnt, 8).Value) Kesseki2 = IIf(IsError(Sheets("2 学 期 ").Cells(14 + Cnt, 8).Value), 0, Sheets("2 学 期 ").Cells(14 + Cnt, 8).Value) Kesseki3 = IIf(IsError(Sheets("3 学 期 ").Cells(14 + Cnt, 8).Value), 0, Sheets("3 学 期 ").Cells(14 + Cnt, 8).Value) 表 記 上 分 けていますが 全 て2 行 を1 行 に 続 けて 記 述 して 下 さい IIf 関 数 式 の 評 価 結 果 によって 2 つの 引 数 のうち 1 つを 返 します IIf( 式, 真 の 場 合, 偽 の 場 合 ) IsError 関 数 式 がエラー 値 かどうかを 調 べ 結 果 を 真 偽 で 返 します IsError( 式 ) 最 後 に 以 下 の 処 理 を 記 述 します 'シート 学 年 に 各 値 を 設 定 Sheets(" 学 年 ").Cells(14 + Cnt2, 4) = Heikin1 Sheets(" 学 年 ").Cells(14 + Cnt2, 5) = Heikin2 Sheets(" 学 年 ").Cells(14 + Cnt2, 6) = Heikin3 Sheets(" 学 年 ").Cells(14 + Cnt2, 9) = Kesseki1 + Kesseki2 + Kesseki3 Next Cnt End Sub 表 記 上 2 行 に 分 けていますが 1 行 に 続 けて 記 述 して 下 さい [コードウィンドウ] 右 上 の をクリックし 閉 じます [サンプル 作 品 フォームデザイン] 右 上 の をクリックし 閉 じます [Visual Basic Editor] 右 上 の をクリックし 閉 じます 7-34

3 動 作 確 認 シート 学 年 を 表 示 した 後 [Ctrl]+[t]を 押 して サンプル 作 品 フォー ムを 表 示 し 登 録 されたマクロが 実 行 されることを 確 認 します サンプル 作 品 フォーム 画 面 を 閉 じます (8) ソート( 成 績 順 番 号 順 )のマクロの 作 成 学 年 シートで 生 徒 一 覧 の 並 び 順 を 成 績 順 及 び 番 号 順 に 並 び 替 えるマクロを 作 成 します 1 マクロの 記 録 (ソート 成 績 順 ) 1 学 期 シートを 表 示 します [ツール]メニューの[マクロ]から[ 新 しいマクロの 記 録 ]を 選 択 します マクロの 記 録 画 面 でマクロ 名 Macro4 を 確 認 し OK をクリックします 学 年 シートを 表 示 します ソートする 範 囲 [A15]~[J24]を 選 択 します [データ]メニューの[ 並 べ 替 え]を 選 択 します [ 並 べ 替 え]ダイアログボックスで 最 優 先 されるキーに[ 順 位 ] [ 昇 順 ] を 選 択 し をクリックします 7-35

成 績 順 にソートされます メニューより[ツール]-[マクロ]-[ 記 録 終 了 ]を 実 行 します 以 上 で 成 績 順 にソートするマクロが 記 録 されました 2 マクロの 記 録 (ソート 番 号 順 ) 1 学 期 シートを 表 示 します [ツール]メニューの[マクロ]から[ 新 しいマクロの 記 録 ]を 選 択 します マクロの 記 録 画 面 でマクロ 名 Macro5 を 確 認 し OK をクリックします 学 年 シートを 表 示 します ソートする 範 囲 [A15]~[J24]を 選 択 します [データ]メニューの[ 並 べ 替 え]を 選 択 します [ 並 べ 替 え]ダイアログボックスで 最 優 先 されるキーに[ 番 号 ] [ 昇 順 ]を 選 択 し をクリックします 番 号 順 にソートされます [ツール]メニューの[マクロ]から[ 記 録 終 了 ]を 選 択 します 以 上 で 番 号 順 にソートするマクロが 記 録 されました 3 コードウィンドウの 呼 び 出 し(ソート 成 績 順 ) (4)-2の 手 順 で [ソート( 成 績 順 )]ボタンの[コードウィンドウ]を 表 示 し ます 4 処 理 の 記 述 (ソート 成 績 順 ) 呼 び 出 された[コードウィンドウ]の [CommandButton5_Click]イベントに 以 下 の 処 理 を 記 述 します Private Sub CommandButton5_Click () 'ソート( 成 績 順 )マクロを 実 行 Call Macro4 End Sub 5 コードウィンドウの 呼 び 出 し(ソート 番 号 順 ) サンプル 作 品 フォームデザイン 画 面 を 表 示 し [ソート( 番 号 順 )]ボタンの [コードウィンドウ]を 呼 び 出 します 7-36

6 処 理 の 記 述 (ソート 番 号 順 ) 呼 び 出 された[コードウィンドウ]の [CommandButton6_Click]イベントに 以 下 の 処 理 を 記 述 します Private Sub CommandButton6_Click () 'ソート( 番 号 順 )マクロを 実 行 Call Macro5 End Sub [コードウィンドウ] 右 上 の をクリックし 閉 じます [サンプル 作 品 フォームデザイン] 右 上 の をクリックし 閉 じます [Visual Basic Editor] 右 上 の をクリックし 閉 じます 7 動 作 確 認 [Ctrl]+[t]を 押 して サンプル 作 品 フォームを 表 示 し 登 録 されたマクロ が 実 行 されることを 確 認 します サンプル 作 品 フォーム 画 面 を 閉 じます 以 上 でサンプル 作 品 の 作 成 は 終 了 です [ファイル]メニューの[ 名 前 を 付 けて 保 存 ]を 選 択 し [マイドキュメント]に 保 存 して 下 さい 学 年 シートを 表 示 している 状 態 で [ 一 覧 印 刷 ][データ 消 去 ]ボタンは 絶 対 押 さないよう 注 意 して 下 さい 7-37