情報処理 平成26年4月28日 笠井俊信 この授業の内容 • Excelのマクロ,VBAについて実践的に学ぶ – Excel2007以降を前提 • マクロ – Excelにおける操作や計算を自動的に実行 • VBA(Visual Basic for Applications) – プログラム言語(Visual Basic)を用いて自動処理 する操作や計算をExcelに命令 VBA利用の準備 Z:¥Macro というフォルダを作成 Excel のオプションを開く 「ファイル」-「オプション」 Z:¥Macro を追加 練習問題1 • マクロ記録(基礎)の作成と実行 – 絶対参照によるマクロ作成 • B2のセルに「はじめてのマクロ作成」と文字入力し,文 字の色を青に,セルの色を黄色に,セルの大きさを調 整する操作のマクロ – 相対参照によるマクロ作成 • 指定したセルに・・・ オブジェクトについて • VBAではExcelを構成するすべての要素・機能 – 例:ワークシート,セル,塗りつぶし色・・・ Application Excel自身 Workbook ワークブック Worksheet ワークシート Range セル,セル範囲 Interior Font 階層オブジェクト構造 プロパティについて • オブジェクトの形状やサイズ,色,動作形態な どを設定する要素 – 例: Range("A1").Value = "1月" (Rangeの)プロパティ名 機能 RowHeight セルの高さ Value セルの値 Hidden 行列の表示・非表示 Column セルの列番号 Style セルのスタイル HorizontalAlignment セル内のデータの表示位置(横位置) メソッドについて • オブジェクトを操作するために用意されたもの – 例: (Rangeの)メソッド 目的 Activate セルをアクティブにする AutoFill オートフィルを実行する AutoFit セルのサイズをセル内容に合わせる Clear セルの内容・書式を消去する Insert セルを追加する PrintOut 印刷する 練習問題2 • VB Editorで実際にマクロを作成してみる – A列に1~12月の月名が入力されるマクロを作成 • オートフィル操作の実行 • 「月名入力」という名のマクロ マクロ(プロシージャ)の作成 プロシージャ作成のルール • 「Sub」で始まり,「End Sub」で終わる • プロシージャの名前 – 名前の先頭は文字 – 名前に, (スペース), ., !, @, &, $, #は使えない – 名前の長さは半角で255文字まで – すでにVBで使われている関数やメソッドと同じ名 前は使えない – 英字の場合,大文字と小文字は区別されない セルへの操作 • セル → Rangeオブジェクト • セルを参照 → Rangeプロパティ – 具体的なオブジェクトを指定する方法 – 例:Range(“A1”) • 代入処理 – “=”演算子 (数学の等号とは違う意味) • 右辺を左辺に代入 – 例:Range(“A1”) = “1月”, Range(“A1”) = 12000 オートフィル操作のコード • オートフィル操作に従ってコード化 – セルに連続する値を入力する • Range(“A1”) = “1月” Range(“A2”) = “2月” – そのセルを選択 • Range(“A1:A2”).Select ・・・Selectメソッド(選択) – 選択範囲の右端をマウスで任意の位置までドラッグ • AutoFillメソッドを利用 – 選択範囲に対する処理命令 選択範囲:”Selection”プロパティ – 出力先の指定 「名前付き引数」 Destination:= – Destination:= Range(“A1:A2”) メソッドの書式 表現方法 • AutoFillメソッドの例 • Object.AutoFill (Destination, Type) – Object • 元データのあるセル範囲をRangeプロパティで指定 – Destination • オートフィルの書き込み先となるセル範囲をRangeプロ パティで指定.元データのセル範囲も含む – Type • リストの種類を以下の定数で指定.省略可. – xlFillDays, xlFillFormats, xlFillSeries, xlFillWeekdaysなど – xlFillDefaults (既定値,省略時) 練習問題 • A1を開始セルとして横方向に曜日を入力する オートフィルを実行するマクロを作成せよ 今日のコード
© Copyright 2024 ExpyDoc