DVIOUT



Similar documents
計算式の取り扱い

2016 年 度 情 報 リテラシー 三 科 目 合 計 の 算 出 関 数 を 用 いて 各 教 科 の 平 均 点 と 最 高 点 を 求 めることにする この2つの 計 算 は [ホーム]タブのコマ ンドにも 用 意 されているが 今 回 は 関 数 として 作 成 する まず 表 に 三 科

Microsoft Word - 第3章.doc

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

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

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

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

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

untitled

<4D F736F F D208DEC90AC837D836A B81698F4390B394C5816A2E646F63>

Microsoft Word - word_05.docx

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

名刺作成講習

ワープロソフトウェア

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

スライド 1

■新聞記事

1

1 次 の 枠 で 囲 まれた 部 分 のデータを 入 力 しましょう 1データ 入 力 後 のセル 移 動 ア 下 方 向 への 移 動 は Enter キーを 使 います Enter イ 右 方 向 への 移 動 は Tab キーを 使 います Tab ウ 左 端 からデータを 入 力 し 右

< F2D93648E718E868EC58B8F30332E6A7464>

ThinkBoard Free60 Manual

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

情報処理技能検定試験 表計算2級 手順書

目 次 1. 論 理 関 数 IF IF の 概 要 論 理 式 の 種 類 等 号 不 等 号 具 体 的 な 使 い 方 ネスト 複 数 の 条 件 を 記 述...

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

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

第 4 部 数 値 表 現 による 思 考 表 1 関 数 関 数 名 称 表 記 意 味 合 計 =SUM(A2:A10) A2 から A10 までの 合 計 平 均 =AVERAGE(A2:A10) A2 から A10 までの 平 均 最 大 値 =MAX(A2:A10) A2 から A10 ま

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

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

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

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

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

< F2D E835A838B82C E836D8E5F82CC89B130322E6A>

d_cj01

Microsoft Word - WBT(PP応用編).docx

Word2013による文書の作成(1級).indd

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

Microsoft PowerPoint - 医用工学概論実習3.ppt [互換モード]

<4D F736F F D B68F918DEC90AC89898F4B899E977095D2816A2E646F63>

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

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

5 セル B9 に=B8+1と 入 力 半 角 入 力 です 以 下 同 様 セル B9 をクリックし=(イコール) 入 力 後 セル B8 をクリックしても B8と 入 力 出 来 ます 6 B9 をクリック カーソルをセルの 左 下 に 持 って 行 き+ 記 号 になった 状 態 で クリック

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

Ngraph for Windowsの使用法

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

目 次 1.ログイン 方 法 P2 2.ログアウト 方 法 P3 3. 基 本 設 定 変 更 サイトネーム スローガンの 設 定 P10~11 カラーバリエーションの 選 択 P12 メニュースタイル 色 の 設 定 P12 4.トップページの 画 像 編 集 画 像 の 変 更 P13~14 T

ワープロソフトウェア

2.4 箇 条 書 のスタイルを 変 更 する 右 クリックして 箇 条 書 と 番 号 付 け を 選 択 する. あとは 少 し 遊 べば, このようなことをやりたい 人 は 理 解 できると 思 います 3 いろいろな 入 力 ワープロを 使 う 上 で 肝 心 な 点 は, 空 白 調 整

活用ガイド-編集しよう

ことばを覚える

Microsoft Word - 第3章.doc

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

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

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

Microsoft Word - document doc

GRIDY SFA カスタム 項 目 操 作 ガイド 用 本 書 はに 必 要 な 操 作 を 解 説 しております は GRIDY SFA ののことです GRIDY SFA へ 申 し 込 み 最 初 に 登 録 を 行 った 方 がそのままとなります カスタム 項 目 はの 方 のみ 操 作 可

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

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

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

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

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

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

VLOOKUP関数,IF関数

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

Microsoft Word doc

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

(Microsoft PowerPoint -

練 習 をはじめる 前 に... 3 試 験 前 にすること... 4 受 験 番 号 名 前 の 入 力... 4 試 験 本 番... 4 注 意 すること... 4 試 験 後 にすること... 4 解 答 の 印 刷... 4 練 習 問 題... 5 処 理 手 順... 6 日 付 時

A

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

Microsoft Word MSExcel2013

練 習 をはじめる 前 に... 3 試 験 前 にすること... 4 受 験 番 号 名 前 の 入 力... 4 試 験 本 番... 4 注 意 すること... 4 試 験 後 にすること... 5 解 答 の 印 刷... 5 数 式 印 刷 または 結 果 データの 保 存... 5 処

今 日 の 学 習 要 点 (テキストP152~167) IF 関 数 の 使 い 方 IF 関 数 による 条 件 判 定 複 合 条 件 による 判 定 順 位 付 け(RANK.EQ) 検 索 関 数 (VLOOKUP) 条 件 に 一 致 したセルの 計 算 (COUNTIF,SUMIF)

< F2D E835A838B82C AE82CC >

初級エクセル

ナビゲーションバー セクションタブ ページタブバー 落 書 きノート セ ク シ ョ ン 2

Microsoft PowerPoint - KeySQL50_10g_vlo3.ppt

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

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

1. 教 育 用 端 末 (imac)の 起 動 と,StarBoard Softwareの 起 動 教 卓 の 教 育 用 端 末 (imac)にidとパスワードを 入 力 してログインしてください. ログインすると,Starboard( 電 子 黒 板 ) 利 用 に 必 要 なアプリケーション

<4D F736F F D C82CC8AEE91625F87542D F9182AB8AB782A68CE32E646F63>

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

ピボットテーブルによるデータ 分 析 EXCELのリスト(シート 上 の 表 形 式 のデータ)から 縦 横 の 項 目 を 設 定 して 新 しい 表 ( 集 計 表 )を 作 ることができます この 表 を ピボットテーブル と 呼 びますが 集 計 を 自 動 で 行 う ことができるので 学

す 選 択 範 囲 を 移 動 する エクセルでは 選 択 したセル 範 囲 の 境 界 をドラッグして 移 動 するのに 対 して Calc では 選 択 範 囲 そのものをドラッグして 移 動 できます そのため マウスポインタの 位 置 合 わせが 少 し 簡 単 になっ ています ただし 1

<4D F736F F D2090BF8B818AC7979D8B40945C91808DEC837D836A B2E646F63>

Microsoft Word Stepkan.doc

文京女子大学外国語学部

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

決 算 時 の 流 れ-1 1 年 間 の 仕 訳 入 力 が 終 了 したら 以 下 の 手 順 で 決 算 書 を 作 成 します Step1 精 算 表 を 印 刷 する 1.[F2 入 力 ]タブより 合 計 表 を 選 択 し 月 度 の 指 定 で 期 首 ~12ヶ 月 目 を 指 定

DN6(R04).vin

範 囲 選 択 次 の 基 本 操 作 を 確 認 してください 範 囲 選 択 について シートを 上 下 にスクロールしてください また 左 右 にスクロールしてください 上 下 左 右 のスクロールボタン をクリックする または スクロールバーをドラッグする マウスの ホイール を 動 かす

SchITコモンズ【活用編】

Microsoft Word - 203MSWord2013

XN-8000 表示データを重ね書きする方法

病 棟 担 当 者 の 操 作 I. 毎 月 の 病 棟 年 月 ファイルの 作 成 起 動 用 ファイル を 開 き 年 月 と 病 棟 を 指 定 して[ 病 棟 年 月 ファイルを 開 く]ボタンを 押 す か 病 棟 セルをダブルクリックすることで 対 象 の 年 月 ファイルが 開 く 該

Excel basics

<4D F736F F D208FEE95F18F88979D EF68BC A F F696E DEC816A2E646F63>

第 1 章 PowerPoint を 始 める 前 に 第 1 章 PowerPoint を 始 める 前 に 1. 最 初 に 考 えること 2. PowerPoint の 画 面 -1- IBR2012-V1.0

Acrobat早分かりガイド

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

Transcription:

93 第 9 章 マクロ マクロとは,Excel でのプログラムのことである. 簡 単 なプログラムをいく つか 書 いてみよう.また, 自 分 専 用 の 関 数 も 定 義 してみよう. 直 接 は 統 計 処 理 に 関 係 ないプログラムもあえて 掲 載 したが, 将 来 マクロを 自 作 する 際 に 役 立 つ はずである.

94 第 9 章 マクロ 9.1 セルに 色 をつける 例 題 9.1 コントロール (Ctrl) キーを 押 しながら r を 押 すことで, 選 択 したセルを 赤 色 にするマクロを 作 成 せよ. [ 解 法 例 ] < 新 しいマクロの 定 義 > <マクロの 実 行 結 果 > 図 a 図 b <マクロの 編 集 > 図 c

9.1 セルに 色 をつける 95 [ 説 明 ] ² マクロとは 一 言 で 言 えば,Excel のプログラムのことである.Excel のプロ グラミング 言 語 は Visual Basic である.したがって,マクロ 作 成 とは Visual Basic 言 語 によるプログラム 作 成 になるが,この 例 に 見 るように,マウスやキー ボードによる 一 連 の 作 業 を 自 動 的 にプログラムしてくれる 機 能 がある. ² 新 しいマクロの 定 義 ツール -> マクロ -> 新 しいマクロの 記 録 の 順 に 選 択 する.ダイアログボッ クスが 現 れるので,マクロ 名 を red にし,[Ctrl +] の 欄 に 小 文 字 で r と 入 れ る.そして OK ボタンを 押 す ( 図 a 参 照 ). ² マクロの 記 録 開 始 ( 左 下 のステータスバーが,マクロ 記 録 中 の 表 示 になる.) ここでは 1 つの 操 作 だけを 記 録 しよう. 適 当 なセルを 選 んでから,ツールバー -> 図 形 描 画 の 中 の 塗 りつぶしの 色 ボタンで 赤 色 を 選 択 し,マクロを 終 了 する.マクロを 終 了 するには ツール -> マクロ -> 記 録 終 了 とする. ² マクロの 実 行 適 当 にセルを 選 択 した 後,Ctrl キーを 押 しながら r キーを 押 してみよ.セル が 赤 色 で 塗 りつぶされる ( 図 b 参 照 ). ² マクロの 編 集 (Visual Basic Editor, VBE) ツール -> マクロ -> マクロ -> 編 集 の 順 に 選 んで 自 動 的 に 記 録 されたマク ロを VBE で 編 集 できる ( 図 c 参 照 ). 次 が, 自 動 的 に 作 成 されたマクロ red の 内 容 である.Sub red() で 始 まり, で 終 わっている. Sub red() ' ' red Macro ' マクロ 記 録 日 : 2001/3/15 ユーザー 名 : 白 石 修 二 ' ' Keyboard Shortcut: Ctrl+r ' With Selection.Interior.ColorIndex = 3.Pattern = xlsolid End With ² Alt キー+f11 キーで Excel と VBE の 切 り 替 えができる.

96 第 9 章 マクロ 9.2 四 則 演 算 例 題 9.2 2 つの 数 の 和 と 差, 積 と 商 を 計 算 せよ. [ 解 法 例 ] [ 説 明 ] ² 2 つの 入 力 データを 受 け 取 って, 足 し 算, 引 き 算, 掛 け 算, 割 り 算 の 結 果 を 出 力 するプログラムである.プログラムの 始 まりは,Sub sisoku() で, 終 わ りは である.Sub sisoku() と の 間 に 処 理 したい 内 容 を 書 く.sisoku がプログラム 名 である. プログラムの 基 本 形 Sub プログラム 名 (). プログラムの 中 身 を 書 く.. プログラムは 基 本 的 には 書 いてある 順 番 に,すなわち 上 から 下 へ,そして 左 か ら 右 への 順 番 に 実 行 される.

9.2 四 則 演 算 97 プログラム 例 Sub sisoku() ActiveSheet.UsedRange.Clear x = Val(InputBox("x の 値 を 入 力 してください.")) Cells(2, 1) = "x=": Cells(2, 2) = x y = Val(InputBox("y の 値 を 入 力 してください.")) Cells(3, 1) = "y=": Cells(3, 2) = y Cells(1, 1) = " 入 力 データ x, y" Cells(5, 1) = " 出 力 結 果 " wa = x + y: sa = x - y: seki = x * y: sho = x / y Cells(7, 1) = "x+y=": Cells(7, 2) = wa Cells(9, 1) = "x-y=": Cells(9, 2) = sa Cells(11, 1) = "x*y=": Cells(11, 2) = seki Cells(13, 1) = "x-y=": Cells(13, 2) = sho ² ActiveSheet.UsedRange.Clear は Excel の 画 面 をクリアする. x = Val(InputBox("x の 値 を 入 力 してください.")) で 入 力 用 の 窓 が 出 て くるので 入 力 データを 入 れる. 入 力 データが 変 数 x に 代 入 される.InputBox の 返 す 値 は 文 字 列 なので,Val で 数 値 に 変 換 している.Cells(i,j) は i 行, j 列 のセルを 表 す.セルはデータの 入 出 力 に 使 われる.Cells(2, 1) = "x=" は 2 行 1 列 のセルに 文 字 列 "x=" を 入 力 する.Cells(2, 2) = x は x の 値 を 2 行 2 列 のセルに 入 力 する.wa = x + y は x と y を 足 した 結 果 を 変 数 wa に 代 入 している. 掛 け 算 には *, 割 り 算 には / を 用 いる.1 行 に 文 を 続 けて 書 く 場 合, 文 の 区 切 りとして,コロン : を 用 いる. ² Basic プログラム 作 成 方 法 Excel を 起 動 した 後,ツール -> マクロ -> マクロ の 順 に 選 択 し,マクロ 名 の 所 に sisoku と 入 力 し,Enter キーを 押 す.そうすると,Sub sisoku() End Sub の 書 かれたノートが 出 てくるので,プログラム 例 を 入 力 してみよう. 入 力 が 終 わったら Excel の 方 に 戻 り sisoku のプログラムを 走 らせてみよう. ² プログラム 実 行 方 法 ツール -> マクロ -> マクロ の 順 に 選 択 し,プログラム 名 sisoku を 選 択 し た 後, 実 行 ボタンを 押 す. ² プログラムを 含 む Excel を 再 起 動 する 場 合, マクロを 有 効 にする を 選 択 する.

98 第 9 章 マクロ 9.3 関 数 のグラフを 書 く 例 題 9.3 y =sinx と y =cosx のグラフを 書 け.( 2¼ x 2¼) [ 解 法 例 ]

9.3 関 数 のグラフを 書 く 99 [ 説 明 ] ² 関 数 f のグラフ (x; f(x)) を 書 くためには 適 当 な 大 きさのサンプルデータ (x i ;f(x i )) を 生 成 し,そのデータをグラフウィザードに 渡 して 書 いてもらう. プログラム 例 Sub graph() ActiveSheet.UsedRange.Clear Cells(1, 1) = "x": Cells(1, 2) = "sin(x)": Cells(1, 3) = "cos(x)" For i = -20 To 20 x = i / 10 * 3.14159 Cells(22 + i, 1) = x Cells(22 + i, 2) = Sin(x) Cells(22 + i, 3) = Cos(x) Next i ² 第 1 列 のセルに x 座 標 のデータ,2 列 に sin(x) のデータ,3 列 に cos(x) の データを 繰 り 返 し 文 For を 用 いて 生 成 する.データの x 座 標 の 範 囲 は, 2¼ から 2¼ の 間 にしている. For i = -20 To 20 は i の 値 を -20 から 20 まで 1 つずつ 増 やしながら Next i までにある 処 理 を 41 回 繰 り 返 す. For は 繰 り 返 し 実 行 するときに 用 いる ( 定 回 反 復 ). For i = a To b 処 理 内 容 Next i グラフの 書 き 方 データの 範 囲 をマウスで 選 択 し,グラフウィザードを 用 いる.

100 第 9 章 マクロ 9.4 サイコロの 目 例 題 9.4 サイコロを 振 り,サイコロの 目 が 一 様 に 出 ているか 調 べよ. [ 解 法 例 ] [ 説 明 ] ² プログラム saikoro を 実 行 してマウスでサイコロを 振 る 範 囲 を 指 定 する. 乱 数 を 発 生 させる 関 数 Rnd を 用 いて,サイコロを 作 る.サイコロを 投 げた 後, サイコロの 目 が 一 様 に 出 ているかどうかヒストグラムを 書 いて 確 認 しよう. <ヒストグラム 作 成 法 > ツール -> 分 析 ツール -> ヒストグラム の 順 に 選 択 する.ヒストグラムの 窓

9.4 サイコロの 目 101 が 出 てくるので, 入 力 範 囲 をマウスで 選 択 し,データ 区 間 (1 から 6 の 目 が 書 い てある 部 分 ) もマウスで 選 択 する.(データ 区 間 は, 実 行 例 で 見 るように 適 当 な 場 所 に 目 の 種 類 を 書 いておく.) 出 力 先 は 適 当 なセルを 1 個 選 択 する.このと き,グラフ 作 成 の 項 目 をチェックする. 頻 度 表 からグラフウィザードを 用 いて グラフを 書 くこともできる. プログラム 例 Sub saikoro() Dim c As Range Dim p As String ActiveSheet.UsedRange.Clear p = "サイコロを 振 る 範 囲 を 指 定 せよ." Set c = Application.InputBox(prompt:=p, Type:=8) c.select ctx = Selection.Columns.Count cty = Selection.Rows.Count Cells(1, 1) = "サイコロを" & ctx * cty & " 回 投 げました." For Each x In Selection x.value = Int(6 * Rnd + 1) Next x ² Dim c As Range は c がセル 変 数 であることを,Dim p As String は p が 文 字 列 変 数 であることを 表 す.Set c = Application.InputBox(prompt:=p, Type:=8) とすると,マウスで 選 択 されたセルが c に 入 る.Type:=8 は InputBox の 返 り 値 がセルであることを 意 味 する.c.Select はサイコロを 投 げるセル 範 囲 ( 処 理 範 囲 ) を 選 択 する.Selection.Columns.Count は 現 在 選 択 されてい るセル 範 囲 の 列 の 数 をカウントする.Selection.Rows.Count は 行 の 数 をカ ウントする.For Each x In Selection は 選 択 した 範 囲 の 各 セル x に 対 して,サイコロを 振 る.サイコロは 乱 数 生 成 関 数 Rnd を 用 いて,Int((6 * Rnd) + 1) で 作 ることができる.Rnd は 0 以 上 1 未 満 の 実 数 を 生 成 するので, 0 6 Rnd 5:999,1 6 Rnd + 1 6:999 となり,Int で 少 数 部 分 を 切 り 捨 てている.x.value= はサイコロの 目 をセル x の 値 (value) とする. サイコロの 目 に 色 を 付 けたいときは, 例 えば,x.Interior.ColorIndex = 1 のように 使 う.(セル x の 内 部 (Interior) の 色 (ColorIndex) を 1 とする.)

102 第 9 章 マクロ 9.5 ソート 例 題 9.5 同 じ 種 類 の 13 枚 のトランプカードをよく 切 り 1 枚 ずつ 並 べよ.そのランダ ムなカード 列 を 小 さい 順 番 に 並 べ 替 えよ.また, 並 べ 替 えの 途 中 経 過 がわか るようにせよ. [ 解 法 例 ] [ 説 明 ] ² 2 つのプログラム rnd1 と srt1 からなる.rnd1 はトランプを 切 って 並 べる プログラムである.また,rnd1 は プログラム srt1 を 呼 び 出 している.srt1 はトランプを 小 さい 順 番 に 並 べるプログラムである.トランプカードは 1 から 13 までの 数 字 で 表 している. 定 数 n と 配 列 card(i) は 2 つのプログラムで 共

9.5 ソート 103 通 に 使 うのでプログラムの 外 で ( 先 頭 で) 定 義 している. まず,card(i) に カード i を 入 れ,それをシャッフルする.シャッフルに は, 整 数 乱 数 j =Int((i-1)*Rnd+1) を 用 いる. 最 初,1 から 12 までの 間 の 乱 数 j を 生 成 し,その 位 置 j のカードと 13 番 目 のカードを 入 れ 換 える. 次 に, 1 から 11 までの 間 の 乱 数 を 生 成 し,その 位 置 のカードと 12 番 目 のカードを 入 れ 換 える. 後 同 様 の 手 続 きを 繰 り 返 す. 今 度 はシャッフルされたカードを 小 さい 順 番 にソートしよう.ここで 述 べる ソート 法 は 効 率 はそれほどよくないが, 単 純 明 快 なソート 法 の 1 つである.カー ド 列 を 右 の 方 から 隣 同 士 のカードの 大 小 関 係 を 調 べながら 左 の 方 へ 見 て 行 く. このとき, 左 隣 のカードが 大 きいときは, 入 れ 換 える.この 操 作 を 高 々12 回 繰 り 返 すと, 小 さい 順 番 にカードが 並 ぶ.( 実 際,13 枚 のトランプを 並 べて 上 の 手 順 で 入 れ 替 えてみよ.) また,ソートの 途 中 経 過 を 色 を 付 けて 表 示 するよう にしている. プログラム 例 Const n = 13 Dim card(n) Sub rnd1() ActiveSheet.UsedRange.Clear Columns("a:z").ColumnWidth = 3 For i = 1 To n card(i) = i Next i Cells(2, 2) = "トランプをよく 切 って 並 べます." For i = n To 2 Step -1 j = Int((i - 1) * Rnd + 1) tmp = card(i): card(i) = card(j): card(j) = tmp Next i For i = 1 To n Cells(4, 3 + i) = card(i) Cells(4, 3 + i).interior.color = RGB(256-16 * card(i), 256-16 * card(i), 256-16 * card(i)) Next i srt1 Sub srt1() Cells(6, 2) = "トランプを 小 さい 順 番 に 並 べます. 途 中 経 過 を 白 黒 の 濃 淡 で 表 示." For i = 1 To n - 1 For j = n To i Step -1

104 第 9 章 マクロ If card(j-1) >card(j) Then tmp = card(j): card(j) = card(j - 1): card(j - 1) = tmp End If Next j For k = 1 To n Cells(7+i,3+k).Interior.Color = RGB(256-16*card(k),256-16*card(k), 256-16*card(k)) Next k Next i Cells(21, 2) = " 小 さい 順 番 にソートされました." For i = 1 To n Cells(23, 3 + i) = card(i) Next i ² Const n = 13 は 2 つのプログラムで 使 われる n が 13 という 定 数 であるこ とを 意 味 する.Dim card(n) as Integer は card(1) から card(13) まで 13 枚 の 整 数 の 入 るメモ 用 紙 を 用 意 する.Columns("a:z").ColumnWidth = 3 でセル a から z の 列 幅 を 3 文 字 幅 に 設 定 している.For i = n To 2 Step -1 とすると,i の 値 は n から 始 まって,n-1, n-2 と 1 つずつ 減 っていく. If card(j-1) >card(j) Then は 条 件 文 といわれ, 左 隣 のカードが 大 きいな らば Then と Endif で 挟 まれた 部 分 を 処 理 せよという 意 味 である. If は 条 件 判 定 で 用 いる If 条 件 式 Then 条 件 式 が 真 のときだけ 実 行 される EndIf 条 件 式 が 偽 のときは,Then と EndIf で 挟 まれた 部 分 は 実 行 されない. tmp = card(i):card(i)=card(j):card(j)=tmp が card(i) と card(j) を 入 れ 換 える 方 法 である (スワップという).Cells(4,3+i).Interior.Color = RGB(256-16*card(i), 256-16*card(i), 256-16*card(i)) の 部 分 が, セルに 色 を 付 ける. 色 は 白 黒 の 濃 淡 で 表 している.

9.6 ボタン 作 成 105 9.6 ボタン 作 成 例 題 9.6 次 のコマンドボタンを 作 成 せよ. (a) ボタンを 押 すと 音 が 出 る.(b) 日 付 を 表 示 する.(c) 時 刻 を 表 示 する. [ 解 法 例 ] [ 説 明 ] ² ボタンを 作 成 するには, 表 示 -> ツールバー -> フォーム の 順 に 選 択 する. フォームツールバーが 出 てくるのでボタンをクリックして, 適 当 な 位 置 までド ラッグしてボタンを 作 る. ² にボタンにマクロを 新 規 登 録 する.ボタンを 右 クリックして,マクロの 登 録 を 選 択.ダイアログボックスが 現 れるので 新 規 作 成 を 選 ぶ.VBE が 起 動 する ので 次 のマクロを 入 力 する.(a) マクロ oto を 入 力 する.beep で 音 を 出 すこ とができる.ボタンの 名 前 に 関 しては,ボタンを 右 クリックしてテキストの 編 集 を 選 択 して 文 字 列 を 入 力 する.(b)hizuke,(c)jikoku についても 同 様 にす る.Date は 日 付,Time は 時 刻 を 表 す.& は 文 字 列 を 連 結 する. Sub oto() For i = 1 To 4: For j = 1 To 60000: Next j: beep: Next i Sub hizuke() MsgBox " 今 日 は" & Date & "です." Sub jikoku() MsgBox " " & Time & " "

106 第 9 章 マクロ 9.7 ダイアログボックス 例 題 9.7 RGB カラー 生 成 ダイアログボックスを 作 れ. [ 解 法 例 ] <ダイアログボックス> <ユーザフォームとツールボックス> [ 説 明 ] 図 a 図 b ² 図 a のような RGB カラーダイアログボックスの 作 成 手 順. 1. フォームの 作 成 ツール -> マクロ -> Visual Basic Editor の 順 に 選 択 すると,エディタが 起 動 するので, 挿 入 -> ユーザフォーム を 選 ぶ. 空 のユーザフォーム (ダイアロ グボックス) とツールボックスが 表 示 される ( 図 b 参 照 ). ツールボックスからスクロールバーとボタンなど (これらをコントロールと いう) をドラッグし,ダイアログボックスにドロップする.ドロップした 後, 図 a のように 整 形 する.ダイアログボックスには,RGB の 3 つのスクロールバー と 4 つのテキストボックス,OK とキャンセルの 2 つのコマンドボタンそして 3 つのラベルがある. ボタンに 名 前 (caption) を 付 けるには,ボタンを 2 回 ゆっくりとクリックす る.また,コントロールには 自 動 的 にオブジェクト 名 が 付 く.CommandButton1,

9.7 ダイアログボックス 107 ScrollBar1 など. コントロールをユーザフォームに 貼 り 付 けた 後, 適 切 かどうか 実 行 -> Sub/ ユーザフォームの 実 行 を 選 択 し 確 認 してみよ. 2. コントロールの 初 期 値 設 定 プロパティウィンドウで 設 定 する. 例 えば,ダイアログボックス 上 の 赤 のス クロールバーを 選 択 し, 右 ボタンを 押 す.メニューから,プロパティを 選 択 す る.プロパティウィンドウが 出 てくるので, 次 の 設 定 をする ( 図 c 参 照 ). <プロパティウィンドウ> 図 c <スクロールバーの 初 期 設 定 例 > Max 256, Min 0, LargeChange 5,BackColor を 赤 色 などにする. <テキストボックスの 初 期 設 定 例 > Value を 0, Locked を True にする.すなわち, 色 の 初 期 値 を 0 にし,テキ ストボックスに 勝 手 に 書 き 込 みできないようにロックしている. 3. イベントプロシジャの 作 成 コントロールを 操 作 したときの 動 きを 決 めるためのプログラム (イベントプロ シジャ) を 書 く.ダイアログ 上 の 各 コントロールをダブルクリックすると,コー ドウィンドウが 表 示 されるのでそれぞれ 処 理 内 容 を 書 く.ここでは,3 つのス クロールバーと 2 つのコマンドボタンに 対 してそれぞれプログラムを 書 く.

108 第 9 章 マクロ <イベントプロシジャの 基 本 形 > Private Sub コントロール_イベント 名 (). 処 理 内 容. 例 えば,ここで 用 いるコマンドボタンのイベント 名 は,Click である.ボタ ンをクリックしたときどのようなことをしたいかを Private Sub と の 間 に 書 く.スクロールバーのイベント 名 としては Change と Scroll の 2 つ を 用 いてる. イベントプロシジャ 'OK ボタン Private Sub CommandButton1_Click() Unload Me Range("a1").Select ' キャンセルボタン Private Sub CommandButton2_Click() Unload Me Selection.Clear ' 赤 のスクロールバー Private Sub ScrollBar1_Change() tmp1=rgb(scrollbar1.value,scrollbar2.value,scrollbar3.value) Selection.Interior.Color=tmp1 TextBox1.Value = ScrollBar1.Value TextBox4.BackColor = tmp1 Private Sub ScrollBar1_Scroll() tmp1=rgb(scrollbar1.value,scrollbar2.value,scrollbar3.value) Selection.Interior.Color=tmp1 TextBox1.Value = ScrollBar1.Value TextBox4.BackColor = tmp1 ' 緑 のスクロールバー Private Sub ScrollBar2_Change() tmp2=rgb(scrollbar1.value,scrollbar2.value,scrollbar3.value) Selection.Interior.Color=tmp2 TextBox2.Value = ScrollBar2.Value TextBox4.BackColor = tmp2

9.7 ダイアログボックス 109 Private Sub ScrollBar2_Scroll() tmp2=rgb(scrollbar1.value,scrollbar2.value,scrollbar3.value) Selection.Interior.Color=tmp2 TextBox2.Value = ScrollBar2.Value TextBox4.BackColor = tmp2 ' 青 のスクロールバー Private Sub ScrollBar3_Change() tmp3=rgb(scrollbar1.value,scrollbar2.value,scrollbar3.value) Selection.Interior.Color=tmp3 TextBox3.Value = ScrollBar3.Value TextBox4.BackColor = tmp3 Private Sub ScrollBar3_Scroll() tmp3=rgb(scrollbar1.value,scrollbar2.value,scrollbar3.value) Selection.Interior.Color=tmp3 TextBox3.Value = ScrollBar3.Value TextBox4.BackColor = tmp3 Unload Me はダイアログボックスの 終 了 である.Me はフォームを 意 味 する. Range("a1").Select はセル A1 を 選 択 する. Selection.Clear は 選 択 範 囲 をクリアする. TextBox1.Value = ScrollBar1.Value はテキストボックスにスクロール バーの 値 を 入 れる. TextBox4.BackColor = RGB(ScrollBar1.Value, ScrollBar2.Value, ScrollBar3.Value) はテキストボックスの 背 景 色 をセルと 同 じ 色 にする. 4. メインルーチンの 作 成 挿 入 -> 標 準 モジュールを 選 択 し, 次 のメインルーチン main1 を 書 く. Sub main1() Dim c As Range Dim p As String ActiveSheet.UsedRange.Clear p = " 塗 りつぶす 範 囲 を 指 定 せよ " Set c = Application.InputBox(prompt:=p, Type:=8) c.select UserForm1.Show UserForm1.Show でフォームを 表 示 (show) する.UserForm1 はフォームの オブジェクト 名 である.

110 第 9 章 マクロ 9.8 関 数 作 成 例 題 9.8 生 年 月 日 を 入 力 し,その 日 が 何 曜 日 であるかを 求 める 関 数 を 作 れ. [ 解 法 例 ] [ 説 明 ] ² 組 み 込 み 関 数 の 他 に, 自 分 で 関 数 を 定 義 することができる.マクロ 作 成 方 法 と 同 じで,ツール -> マクロ -> Visual Basic Editor の 順 に 選 択 する.エディ タが 起 動 するので, 挿 入 -> 標 準 モジュール を 選 ぶ. 次 のプログラム 例 を 入 れ てみよう. 入 力 が 終 わったらセーブして,Excel の 方 に 移 動 して, 適 当 なセル に 例 えば,=zellar(1999,11,3) と 入 力 してみよ. 関 数 の 基 本 形 function fname( 引 数 ) 本 体 end function 関 数 値 は fname に 入 れる.

9.8 関 数 作 成 111 プログラム 例 Function zellar(y, m, d) If m = 1 Or m = 2 Then y = y - 1 m = m + 13 End If dm = y + y Y= 4 - y Y= 100 + y Y= 400 w = (dm + (13 * m + 8) Y= 5 + d) Mod 7 Select Case w Case 0 zellar = " 日 曜 日 " Case 1 zellar = " 月 曜 日 " Case 2 zellar = " 火 曜 日 " Case 3 zellar = " 水 曜 日 " Case 4 zellar = " 木 曜 日 " Case 5 zellar = " 金 曜 日 " Case 6 zellar = " 土 曜 日 " End Select End Function ² いくつかの 選 択 肢 がある 場 合 は,Select が 便 利 である.Select Case w の w の 0 から 6 までの 値 に 応 じて, 例 えば 0 の 場 合 (Case 0) は, 日 曜 日,1 の 場 合 (Case1) は 月 曜 日 と 表 示 するようにしている. a Or b は a,b いずれかまたは 両 方 ともが 真 のとき, 真 となる 論 理 式 である. a Y= b は a を b で 割 ったときの 整 数 商 を 表 す.a Mod b は a を b で 割 ったとき の 余 りを 表 す. < Zellar の 公 式 > 1,2 月 を 前 年 の 13,14 月 とする. 次 式 によって, 閏 年 による 曜 日 のずれ dm と 曜 日 w を 求 める. 通 常,1 年 で 曜 日 は 1 日 ずれるが, 閏 年 を 換 算 すると y 年 で dm 日 ずれる. dm = y + y Y= 4 - y Y= 100 + y Y= 400 w = (dm + (13 * m + 8)Y= 5 + d) Mod 7