PowerPoint プレゼンテーション

Similar documents
PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

プレポスト【問題】

情報基礎A

第 1 章 VBA について 1 イントロダクション 校務で生徒や先生方のデータの集計など,Excel を使用することが多くなっています 日常,Excel で作業をしていると 同じ操作 を繰り返し行わなければいけないことが多くありませんか? この 同じ操作 を VBA を利用し, より業務を効率化さ

Microsoft Word _VBAProg1.docx

[Excelが自動化するVBAの魔法2]購入者限定テキスト

ExcelVBA

PowerPoint プレゼンテーション

Microsoft Word - VBA基礎(6).docx

エクセルによる数値計算と化学への応用

Microsoft PowerPoint - VBA解説1.ppt [互換モード]

MS-ExcelVBA 基礎 (Visual Basic for Application)

PowerPoint プレゼンテーション

「不動産リスト」を解く

スライド 1

Microsoft Word - VBA基礎(2).docx

Microsoft Word - VBA基礎(1).docx

< 目次 > 1. 練習ファイルのダウンロード 表計算ソフト Excel の基本 Excel でできること Excel の画面 セル 行 列の選択 セルにデータを入力する ( 半角英数字の場合 )

Section1_入力用テンプレートの作成

sinfI2005_VBA.doc

08‘͆i”O“Z†j

PowerPoint プレゼンテーション

Microsoft Word - VB.doc

Microsoft PowerPoint - kakeibo-shiryo1.pptx

エクセルの基礎を学びながら、金額を入力すると自動的に計算され、1年分の集計も表示される「おこづかい帳」を作りしょう

情報処理演習

Microsoft Word - ExcelTable.docx

上の図がプロジェクトエクスプローラです 通常 VisualBasicEditor 画面の左上に配置されています Microsoft Excel Objects( ワークシート ) フォーム 標準モジュール クラスモジュールなどに分かれていて それらの集まりをプロジェクトといいます Excel のワー

PowerPoint プレゼンテーション

Microsoft Word - VBA基礎(3).docx

PowerPoint プレゼンテーション

連立方程式の解法

教科書原稿

(7) 表示されている [ オートフィルオプション ] をクリックして [ 書式なしコピ ー ] をクリックします (8)[ 評価 1] の結果が表示されます [ 評価 2] の列には [ 売上数量 ] が 1500 以上であれば 1000 以上であれば そ うでなければ と表示されるようにしてくだ

PowerPoint プレゼンテーション

2 / 14 第 7 講データ処理 ブック ( ファイル ) を開く第 6 講で保存したブック internet.xlsx を開きましょう 1. [Office ボタン ] から [ 開く ] をクリックします 2. [ ファイルの場所 ] がデータを保存している場所になっていることを確

2 / 16 ページ 第 7 講データ処理 ブック ( ファイル ) を開く第 6 講で保存したブック internet.xlsx を開きましょう 1. [Office ボタン ] から [ 開く ] をクリックします 2. [ ファイルの場所 ] がデータを保存している場所になっている

Microsoft Word MSExcel2010

10. セル範囲に名前を定義します シート : 利用者リスト 1. セル A2:A5 を選択する 2. 名前ボックスに 利用者と入力 3. 続いて B2~B5 を選択 名前ボックスに続柄と入力 名前ボックスを記入するため 余分に選択するとどこまでしたか忘れますので最後のセルに下線を引いておくと解りや

プログラミング演習

暮らしのパソコンいろは早稲田公民館 ICT サポートボランティア

次の病院 薬局欄は 氏名 欄に入力された値によって入力すべき値が変わります 太郎の行く病院と花子の行く病院が必ずしも同じではないからです このような違いを 設定 シートで定義しておきましょう 太郎の行く病院のリストを 太郎 花子の行く病院のリストを 花子 として 2 つのリストが定義されています こ

Excel2013 マクロ

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

とします 後者は Excel 上の指定したセル範囲を R 上にデータフレームとして保存します たとえば セル A1 から B10 の範囲の値 ( 1 行目は変数名 それ以外はデータとする ) を R 上にデータフレーム mydf として保存するには Rinterface.PutDataframe m

1セル範囲 A13:E196 を選択し メニューの データ - 並べ替え をクリック 並べ替え ダイアログボックスで 最優先されるキー から 年代 を選択し OK をクリック ( セル範囲 A13:E196 のデータが 年代 で並び替えられたことを確認する ) 2セル範囲 A13:E196 を選択し

スライド 1

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

マクロの実行許可設定をする方法 Excel2010 で 2010 でマクロを有効にする方法について説明します 参考 URL:

スライド 1

セル G5 に 大手町店 の合計を求めましょう 暮らしのパソコンいろは 1 セル G5 をクリックします 2 ホーム タブをクリックします 3 編集 グループの ( 合計 ) をクリックします セル G5 と数式バーに =SUM(D5:F5) と表示され セル範囲 D5:F5 が点滅する線で囲まれま

Microsoft PowerPoint - 公開講座 2015_08_15-1 Excel ガイダンス.pptx

45 VBA Fortran, Pascal, C Windows OS Excel VBA Visual Basic Excel VBA VBA Visual Basic For Application Microsoft Office Office Excel VBA VBA Excel Acc

Microsoft PowerPoint - prog03.ppt

図 2 Excel スプレッドシートの世界 のウィンドウ 図 3 Visual Basic の世界 のウィンドウ 図 3 の VBA ウィンドウは 図 2 の Excel ウィンドウのメニューの ツール をクリックし 開か れるプルダウンメニューで マクロ /Visual Basic Editor

各種パスワードについて マイナンバー管理票では 3 種のパスワードを使用します (1) 読み取りパスワード Excel 機能の読み取りパスワードです 任意に設定可能です (2) 管理者パスワード マイナンバー管理表 の管理者のパスワードです 管理者パスワード はパスワードの流出を防ぐ目的で この操作

コンピュータリテラシ 第 6 回表計算 2 このスライド 例題 /reidai6.xlsx /reidai6a.xlsx 課題 12 /reidai6b.xlsx /table12_13.xlsx

正誤表(FPT1004)

住所録を整理しましょう

6 シート見出しブックに入っている各シート名の名前が表示されます シートとは 表を作るための作業エリア 単にシートという場合はワークシートのことを指します シート上のセルにデータを入力しながら表を作っていきます シートには他にグラフシートもあります 7 数式バー現在操作の対象となっているセル内のデー


Create!Form V11 - Excel 出力設定

ワープロソフトウェア

Excel 活用編 Excel を使って おみくじ と 今日の運勢 を表示させましょう I. おみくじの作成 Excel の関数を使って 本日の吉凶を表示させましょう 1. Excel の起動 Excel を起動します 1 入力を省略するために 作成途中の Book を準備しています ドキュメントか

情報C 実習プリント

プログラミング演習

Microsoft PowerPoint - Visualプログラミング

vi 目次 画像のサイズ設定 画像の効果 画面の取り込みとトリミング Office の共通基本操作 図形 図形の挿入と削除 図形の編集 図形の背景色の透過 Office

第 1 節 関数とは 関数とは 与えられた文字や数値に対し 定められた処理を行って結果を返す命令のことです 例えば パンをホームベーカリーで作るには 最初に材料となる小麦粉などを入れ 次いでドライイースト 最後に水を入れるという順序があります そして スタートボタンを押すとパンが完成します ホームベ

テキストファイルの入出力1

Microsoft Word A08

目次 1. ファイルの保存 ウインドウ枠の固定と解除 枠の固定 固定の解除 画面のズーム 数式に挑戦! まずは足し算 他のセルを 参照 四則演算...

PowerPoint プレゼンテーション

方程式の解法

Excelで血圧記録表を作成しょう!

初めてのプログラミング

目 次 1. Excel の起動 文字入力 書式設定 枠線の表示 スピンボタン作成 ( 年 ) スピンボタン作成 ( 月 ) 年 と 月 の表示 祝日予定の表示 関数の挿入

問題 1 次の文章は Excel の作業環境について述べたものである 下線部の記述の正誤を判断し 解答群 { } の記号で答えよ ただし 下線部以外の記述に誤りはないものとする 設問 1. クイックアクセスツールバーには アプリケーション名やファイル名が表示される 設問 2. 数式バーのる ボタンを

PowerPoint Presentation

よくわかる Microsoft Excel 2019/2016/2013 マクロ/VBA(FPT1910)

情報資源組織演習B:

Excel2013 シート・ブック間の編集と集計

(Microsoft Word - Excel\216\300\217K\212\356\221b1.doc)

情報処理実習(工基3)

条件付き書式 の ルールの管理 をクリック 2 新規ルール をクリック 1 ルール の管理をクリック 3 指定の値を含むセルだけ書式設定 を クリック 7 グレーを選び OK をクリック 4 次の値に等しい を選ぶ 5 2 と入力 6 書式をクリック 8OK をクリック 以下同様に 新規ルール をク

Microsoft Word -

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y 小幡智裕

OTRS10 他社システムOTRS呼出利用手順書

Microsoft Word A10

本サンプル問題の著作権は日本商工会議所に帰属します また 本サンプル問題の無断転載 無断営利利用を厳禁します 本サンプル問題の内容や解答等に関するお問 い合わせは 受け付けておりませんので ご了承ください 日商プログラミング検定 STANDARD(VBA) サンプル問題 知識科目 第 1 問 ( 知

スライド 1

PowerPoint プレゼンテーション

2. 文字データの入力 2.1 タイトルバーの表示 OpenOffice.org 2.0 の表計算ドキュメントを起動します ワークシート ( 図 1) の青いタイトルバー には, 作者がブックに名前を付けていないことを示す 無題 1 の表示が現れています ( 図 1) 2.2 文字入力時の約束キーボ

VBM01#解答解説# indd

2 列 B と 列 C の間にカーソルをあわせ, カーソルの形が変化したところでドラッグして右に移動し, 列 B の幅を約 に設定します 3 列 C の上でマウスをドラッグして右に移動し, 列 C, 列 D, 列 E の 3 列を一括選択します 一括選択ができたら, 列 C と 列 D

メソッドのまとめ

4 分岐処理と繰返し処理 ( 教科書 P.32) プログラムの基本的処理は三つある. (1) 順次処理 : 上から下に順番に処理する ぶんきそろ (2) 分岐処理 : 条件が揃えば, 処理する はんぷく (3) 反復処理 : 条件が揃うまで処理を繰り返す 全てのプログラムは (1) から (3) の

データベース機能 EXCEL には簡単なデータベース機能があり 表のデータから条件に合致するレコードを抽出することなどができる 本来がデータベースソフトウェアではないので 専用のソフトと比べるとその機能は劣るが 単なる表引きや計算ではできないことを可能にし 非常に便利な利用をすることができる 1 デ

Transcription:

Excel VBA の基本 2 はじめに 前回のおさらい 反復処理 (For...Next) ステップ実行 参考文献の 転記処理 VBA 関数 ( 引数と戻り値 ) 参考文献 立山秀利 入門者の ExcelVBA 講談社,2012. 1

( はじめに )Excel でこんなこともできるよ! 1 開発 メニュー 挿入 から [ フォームコントロール ] [ スピンボタン ] を選択 2 ワークシート上でドラッグドロップする 3 作られたスピンボタンの上で右クリックし [ コントロールの書式設定 ] を選択 4 [ リンクするセル ] として $A$1 を選択 2

フォームコントロールと INDEX 関数 B1 セルに次の関数を入力する =INDEX(C1:C5, A1, 1) =INDEX(C:C,A1,1) でも良い 3

4

条件に応じた処理の例 もし チェックに1が入力されて いたら 対応するB列のセルの値を 対応するC列のセルに転記する Sub Test() If Range("A2").Value = 1 Then Range("C2").Value= Range("B2").Value End If End Sub 5

同じ処理を A3 から A6 にも行うには If Range("A2").Value = 1 Then Range("C2").Value= Range("B2 ).Value If Range("A3").Value = 1 Then Range("C3").Value= Range("B3 ).Value If Range("A4").Value = 1 Then Range("C4").Value= Range("B4 ).Value If Range("A5").Value = 1 Then Range("C5").Value= Range("B5 ).Value If Range("A6").Value = 1 Then Range("C6").Value= Range("B6 ).Value 変数と反復処理を活用することで スマートに ( より汎用的に ) 書くことができる 6

変数とは プログラミングにおいての変数とは プログラム のソースコードにおいて 扱われるデータを一定 期間記憶し必要なときに利用できるようにするた めに データに固有の名前を与えたもの 値を入れる箱のようなもの A = 12 12 A セルの値とセル番地 セルの名前 の関係 7

変数を体験してみる 1 Sub Test() A=10 Range( A1 ).Value = A A=A+10 Range( A2 ).Value = A End Sub A=A+10 は A に 10 を足したもの を A に代入せよという意味 A に 10 を足せ 8

変数を体験してみる 2 Sub Test() ABC = はじめに MsgBox(ABC) ABC = 次に MsgBox(ABC) End Sub 9

反復処理 (For...Next) For...Next ステートメント ( 構文 書き方のルール ) 指定した処理を 指定した回数だけ繰り返して実行する 書き方 For 変数名 = 初期値 to 最終値処理 Next 変数は繰り返しの回数の管理に用いる 処理を繰り返すたびに値が 1 ずつ増える 10

反復処理サンプル 1 Sub Test() For a = 1 To 3 MsgBox a Next End Sub 実行したいプロシージャにカーソルをあわせて実行ボタンをクリックしても実行できる 11

反復処理サンプル 2 Sub Test() For a = 1 To 5 Cells(a, 1).Value = a+10 Next End Sub Cells オブジェクト Range と同様にセルを表すオブジェクト位置をセル番地ではなく ( 行の位置 列の位置 ) で表す 12

反復処理 p.3 の例を反復処理で書き直す Range 版 Sub Test() For cnt = 2 to 6 Next End Sub If Range( A & cnt).value = 1 Then Range("C & cnt).value=range("b" & cnt).value End If cnt & カウンタを表す変数名としてよく? 利用される左右の二つを文字として結合する 13

反復処理 p.3 の例を反復処理で書き直す Cells 版 Sub Test() For cnt = 2 to 6 Next End Sub If Cells(cnt,1).Value = 1 Then Cells(cnt,3).Value = Cells(cnt,2).Value End If 14

ステップ実行 :1 行ずつ結果を確かめながら実行できる 1 マクロの実行ダイアログから ステップイン 2 F8 キーを押すたびに 1 行ずつ実行される 3 ワークシートのウィンドウと VBA のウィンドウを並べて表示するとわかりやすい 4 リセットボタン で停止する 15

ウォッチ : 変数の変化を見ることができる 変化を見たい変数 ( 今回は cnt) の上で右クリックして ウォッチ式の追加 を選択 式とプロシージャを確認して OK ステップ実行をすると ウォッチウィンドウ に指定した変数の値が表示される 16

オブジェクトの中のオブジェクトを指定する Worksheets( Sheet1 ).Range("A1 ).Font.Size = 14 Sheet1 ワークシート の セルA1 の フォント の プロパティ Size を 14に設定せよ ヘルプの表示 調べたい対象にカーソルを合わせて F1 を押す F1 17

演習 ( 参考文献より ) 転記処理 http://tatehide.com/bb_vba.html よりファイルを入手 実現したい処理の内容 [ 売上 ] ワークシートの B3 セル ( 顧客名 ) を [ 請求書 ] ワークシート A3 セルに転記する [ 売上 ] ワークシートの各項目について 顧客名が B3 セルに一致するものを [ 請求書 ] ワークシートに転記する 18

どのような アルゴリズム にすればよいか? アルゴリズム 問題を解決するための方法や手順のこと 1 [ 売上 ] ワークシートの [B6] から下に向かって [B3] セルと一致するかどうか確認する 2 一致したらその行を [ 請求書 ] に転記する アルゴリズムのイメージ B6 B23 を調べるもし B3と一致したらそのときはその行を転記する 19

その行を転記する? 1 行目 元の8 行目 2 行目 元の10 行目 3 行目 元の16 行目 もし B3 と一致したら そのときはその行を転記する 転記先の行は 1,2,3 cnt 20

転記先の行数を管理する変数を追加 rw を 1 とする B3 と一致した 8 行目を rw 行目に転記 rw に 1 を足す (=rw を 2 とする ) B3 と一致した 10 行目を rw 行目に転記 rw に 1 を足す (=rw を 3 とする ) B3 と一致した 16 行目を rw 行目に転記 rw に 1 を足す (=rw を 4 とする ) 21

作成するマクロ転記先は 7 行目からスタート ( 請求書ワークシート A7 から ) rw =7 から Sub 請求書作成 () Worksheets(" 請求書 ").Range("A3").Value = Range("B3").Value rw = 7 For cnt = 6 To 23 If Range("B" & cnt).value = Range("B3").Value Then Worksheets(" 請求書 ").Range("A"& rw).value=range("a"& cnt).value (B~F 列までの転記処理を省略 : 次スライド ) rw = rw + 1 End If Next End Sub [ 売上 ] ワークシートでマクロを実行することを想定している ( ワークシート名が明示されていないオブジェクトは 実行したワークシートがその対象となる ) 22

省略した転記処理 Worksheets(" 請求書 ").Range("A" & rw).value = Range("A" & cnt).value Worksheets(" 請求書 ").Range("B" & rw).value = Range("C" & cnt).value Worksheets(" 請求書 ").Range("C" & rw).value = Range("D" & cnt).value Worksheets(" 請求書 ").Range("D" & rw).value = Range("E" & cnt).value Worksheets(" 請求書 ").Range("E" & rw).value = Range("F" & cnt).value 顧客の列を省略しているため 1 列ずつずれることに注意 Cellsを利用して書く場合 Worksheets(" 請求書 ").Cells(rw,1).Value = Cells(cnt,1).Value Worksheets(" 請求書 ").Cells(rw,2).Value = Cells(cnt,3).Value Worksheets(" 請求書 ").Cells(rw,3).Value = Cells(cnt,4).Value Worksheets(" 請求書 ").Cells(rw,4).Value = Cells(cnt,5).Value Worksheets(" 請求書 ").Cells(rw,5).Value = Cells(cnt,6).Value 23

ボタンの挿入とマクロの設定 1 マクロを実行したいワークシートを開く 2 開発 メニュー 挿入 から フォームコントロール の ボタン アイコンを選択 3 シート上でドラッグし ボタンを作成する 4 一覧から 登録するマクロ名を選んで OK 24

何かおかしい? 同じ 音羽金属 でも結果が異なることがある? 前に実行した結果を消していないのが原因なので Worksheets(" 請求書 ").Range("A7:E13").ClearContents を最初に ( 転記処理の前に ) 実行する 25

関数 かんすう 与えられた文字や数値に対し 定められた処理を行って 結果を返す機能のこと 表計算ソフトやデータベースソ フト プログラミング言語などで利用される 関数ごと にさまざまな処理が割り当てられており たとえばExcel でSUMという関数を用いると 指定した範囲の合計が求 められる 与える情報を引数 ひきすう 結果を戻り値と呼ぶ 複数の数値 SUM 関数 合計値 26

ワークシート関数と VBA 関数 ワークシート関数はワークシートで使うもの VBA 関数は VBA で記述するもの ワークシート関数 VBA 関数 同じ機能を持つものも多くある ワークシートで事前に書いておくか VBA 内で書くかは用途による 引数の指定方法が違う場合もある 27

VBA 関数の一覧 28

関数の構文 使い方 の説明 F1を押すと出てくる公式のヘルプ 初心者には わかりづらい http://officetanaka.net/excel/vba/function/left.htmより 29

引数の指定方法 引数の指定方法はいくつかパターンがあるので 使用例を見て真似するとよい 例 :Left 関数の引数は ( 文字列 数値 ) Left(" たのしい VBA",4) Left(Range( A1 ),cnt) cnt は数値を代入した変数 省略できる引数もある 戻り値を使わない場合は括弧を省略する 名前付き引数といったものも 30

戻り値 戻り値のある関数は 変数やセルの値として結果を代入する Moji = Left(" たのしい VBA",4) Range("B1").Value = Left(Range("A1"),cnt) 31

MsgBox関数 http://officetanaka.net/excel/vba/function/msgbox.htm より 32

MsgBox 関数の色々な書き方 MsgBox " こんにちは " メッセージ以外の引数は省略 戻り値を使わないので カッコを省略 MsgBox Date Date 関数 ( 今日の日付を返す ) の戻り値を MsbBox 関数の引数としてそのまま利用 MsgBox(" 良いですか?", vbyesno, " 確認 ") YES と NO が表示される タイトルは 確認 となる 33

Yes/No による条件分岐 yn = MsgBox(" 良いですか?", vbyesno, " 確認 ") If yn = vbyes Then Range("A1").Value = " はい " Else Range("A1").Value = " いいえ " End If 変数 yn を使わずに 次のような書き方もできる If MsgBox(" 良いですか?", vbyesno, " 確認 ") = vbyes Then 34

名前付き引数 ( の指定 ) MsgBox " 文字です ", Title:=" タイトルです " 引数 Title を設定するという意味 InputBox 関数のように指定する引数の種類が多い場合に使われる 35

INPUTBOX 関数 InputBox(Prompt,Title, Default, XPos, YPos) kekka = InputBox( 入力してください, _ Default := 初期値, _ Xpos:=50) MsgBox kekka _( アンダーバー ) はその文が次の行に続く場合に書く 36

Excel VBA の基本 3 VBA 関数 ( 引数と戻り値 ): 前回資料 変数のきちんとした定義方法 オブジェクトに関する記述をまとめる (With) フォームコントロールの活用 37

変数のきちんとした定義 VBA では基本的にどこでも変数を定義できる オブジェクト名などの VBA で利用しない文字列であれば 全部変数として扱う その文字列が最初に出てきた時点で VBA はそれを新たな変数として定義する スペルミスをした場合 わからない場合がある hoge = 100 hoge = 250 hoga = 200 以降 hoge を変数として扱う 値は 100 とする 変数 hoge の値を 250 に変更する 以降 hoga を変数として扱う 値は 200 とする 38

Option Explicit と Dim Option Explicit マクロの一番上 ( 先頭の Sub より前 ) に書くことで 宣言された変数以外は使えない ( 勝手に定義しない ) ようにすることができる Dim 文字列 (as 型 ) この文字列を変数として使う! と宣言する ( 型を指定するとその型以外の情報を代入できなくなる ) 39

オブジェクトに関する記述をまとめる (With) 同じオブジェクト名についての処理が続くときに オブジェクト名を省略することができる書き方 With オブジェクト名. から始まるものに自動的にオブジェクト名が付けられる End With 例 With Range( A1 ).Value = セル A1.Font.Size = 15 End With わかりやすい例 :Office TANAKA With って何ですか? http://officetanaka.net/excel/vba/beginner/16.htm 40

転記処理の完成版を読み解いてみる ( 立山秀利 入門者の ExcelVBA 講談社,2012. より ) Option Explicit Sub 請求書作成 () Dim cnt Dim rw With Worksheets(" 請求書 ").Range("A3").Value = Range("B3").Value.Range("E3").Value = Date rw = 7.Range("A7:E13").ClearContents For cnt = 6 To 23 Next If Range("B" & cnt).value = Range("B3").Value Then End If End With End Sub.Range("A" & rw).value = Range("A" & cnt).value.range("b" & rw).value = Range("C" & cnt).value.range("c" & rw).value = Range("D" & cnt).value.range("d" & rw).value = Range("E" & cnt).value.range("e" & rw).value = Range("F" & cnt).value rw = rw + 1 変数の宣言 Date は日付を取得する VBA 関数 先頭にピリオドがついたものは 請求書ワークシート に対しての処理ついていないものは 今 開いているワークシート に対しての処理 41

Excel の発展的な機能 フォームコントロール ユーザーフォーム フォームを作成して VBA 内部から呼び出すことができる イベント処理 ユーザーが何か操作を行ったときに処理を行うことができる ファイルを開いたとき ボタンをクリックしたときなどなど 42

フォームコントロールを使ってみるスピンボタンでの例 1 開発 メニュー 挿入 から [ フォームコントロール ] [ スピンボタン ] を選択 2 ワークシート上でドラッグドロップする 3 作られたスピンボタンの上で右クリックし [ コントロールの書式設定 ] を選択 4 [ リンクするセル ] として $A$1 を選択 43

セルの参照とは =B3 は セル B3 を参照せよ という意味 セル B3 に入っている値や数式などを持ってこい セル番地を直接指定しない方法もある 44

関数による セルの参照 INDEX: セル範囲 行番号 列番号で指定 =INDEX(A1:D4, 3, 2) 範囲 A1:D4 の 3 行目 2 列目を参照 OFFSET: 基準位置 下への移動数 右への移動数で指定 =OFFSET(A1, 2, 1) A1 から下に 2 右に 1 移動したセルを参照 ( 高さと幅を指定することで範囲を返すこともできる ) INDIRCT: 文字列で指定 =INDIRECT(F1) F1 に書かれた文字列で指定されたセルを参照 ( セルの名前を指定することもできる ) 45

フォームコントロールと INDEX 関数 B1 セルに次の関数を入力する =INDEX(C1:C5, A1, 1) =INDEX(C:C,A1,1) でも良い 46

リストボックス ( コンボボックス ) の中身を動的に変更したい場合 企業名ボックスを変更したときに部署名ボックスの中身を変えたい 次のようなデータを準備する 47

部署名ボックスの入力範囲の指定 B2~B5 を 企業名ボックス で指定した企業にあわせて (INDEX 関数によって ) 変更する 48

企業名ボックスの設定と INDEX 関数の引数 A2,A3 ではなく 1,2 でも良い 0 を表示したくない場合は IF 関数を併用するなど C1 の値 (= 企業名ボックスの選択 ) によって INDEX の指す場所が変わっていく 49

VBA についてのまとめ的に プログラム ( アルゴリズム ) とは人の書いたものをモノマネしていくことで学んでいくもの きちんと動かない場合 間違った部分 ( バグ ) を直していく作業が必要 最も時間がかかる作業 コツコツと学んでいきましょう! 50