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

Similar documents
ExcelVBA

Microsoft PowerPoint - Visualプログラミング

Microsoft Word - VBA基礎(3).docx

sinfI2005_VBA.doc

プレポスト【問題】

Microsoft Word _VBAProg1.docx

MS-ExcelVBA 基礎 (Visual Basic for Application)

PowerPoint プレゼンテーション

情報基礎A

Microsoft PowerPoint - vp演習課題

PowerPoint プレゼンテーション

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

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

1. 入力画面

情報C 実習プリント

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

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

char int float double の変数型はそれぞれ 文字あるいは小さな整数 整数 実数 より精度の高い ( 数値のより大きい より小さい ) 実数 を扱う時に用いる 備考 : 基本型の説明に示した 浮動小数点 とは数値を指数表現で表す方法である 例えば は指数表現で 3 書く

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

Microsoft Word - VBA基礎(6).docx

PowerPoint プレゼンテーション

Java講座

PowerPoint プレゼンテーション

ii Excel Excel IF IF IF VLOOKUP HLOOKUP IF VLOOKUP HLOOKUP ExcelVBA Excel Excel Excel Web p Excel Excel Excel

Microsoft Word - VBA基礎(2).docx

PowerPoint プレゼンテーション

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


プログラミング演習

プログラミング演習

Microsoft PowerPoint - kougi4.ppt


連立方程式の解法

System.out.println("char : " + (int)character.min_value + "~" + (int)character.max_value); System.out.println("float : " + Float.MIN_VALUE + "~" + Flo

方程式の解法

ゲームエンジンの構成要素

情報処理実習(工基3)

コンピュータ概論

Microsoft PowerPoint - kakeibo-shiryo1.pptx

Microsoft Word - 3new.doc

プログラミング入門1

演習1

情報資源組織演習B:

Microsoft PowerPoint - Prog05.ppt

Microsoft Word - VBA基礎(1).docx

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

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

cp-7. 配列

簡易版メタデータ

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

Microsoft PowerPoint - kougi7.ppt

PowerPoint プレゼンテーション

B 5 (2) VBA R / B 5 ( ) / 34

JavaプログラミングⅠ

Excel Excel Excel = Excel ( ) 1

Microsoft Word A10

PowerPoint プレゼンテーション

JavaプログラミングⅠ

PowerPoint プレゼンテーション

情報処理実習(工基3)

Prog1_10th

PowerPoint プレゼンテーション

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

スライド 1

最初に VBA が使用できるように マクロ と呼ばれるエクセル上のアプリ ( のようなもの ) を準備します Excel メニューの ファイル オプション を選択 表示される Excel のオプション から リボンのユーザー設定 を選択 メインタブ 内の 開発 にチェックを付けて OK をクリック

ワープロソフトウェア

Excel ではじめる数値解析 サンプルページ この本の定価 判型などは, 以下の URL からご覧いただけます. このサンプルページの内容は, 初版 1 刷発行時のものです.

プログラミングA

PowerPoint プレゼンテーション

Microsoft PowerPoint - kougi6.ppt

プログラミング実習I

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

2006年10月5日(木)実施

計算機プログラミング

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

C#の基本2 ~プログラムの制御構造~

C 言語の式と文 C 言語の文 ( 関数の呼び出し ) printf("hello, n"); 式 a a+4 a++ a = 7 関数名関数の引数セミコロン 3 < a "hello" printf("hello") 関数の引数は () で囲み, 中に式を書く. 文 ( 式文 ) は

講習No.12

情報工学実験 C コンパイラ第 2 回説明資料 (2017 年度 ) 担当 : 笹倉 佐藤

スライド 1

メッシュ農業気象データ利用マニュアル

JavaプログラミングⅠ

MoreStudy 第 6 章 MoreStudy 第 6 章 第 1 節 貼り付け 3 [ 形式を選択して貼り付け ] ダイアログから [Microsoft Excel ワークシート ] を選択し [OK] ボタンを 押します 1 Excel ワークシートで貼り付け [Pastespec] リボン

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

スライド 1

スライド 1

Excel2013 マクロ

Taro-Basicの基礎・条件分岐(公

EXCEL VBA講座

コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n

PowerPoint プレゼンテーション

gengo1-6

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

回文作成支援プログラム

C#の基本

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

Prog1_12th

PowerPoint Presentation

コンピュータリテラシ

図 1 アドインに登録する メニューバーに [BAYONET] が追加されます 登録 : Excel 2007, 2010, 2013 の場合 1 Excel ブックを開きます Excel2007 の場合 左上の Office マークをクリックします 図 2 Office マーク (Excel 20

Transcription:

九州大学工学部地球環境工学科船舶海洋システム工学コース 計算工学演習第一 演習資料担当 : 木村 Excel 上のマクロを利用してプログラムを組む Visual Basic for Applications (VBA) のテクニック Excel のマクロとは? 一連の操作を自動的に行う機能 例 ) セル ( マス目 ) に数字を 1 から順番に埋めていく Excel のマクロでどんなプログラムが作れるのか? 任意のセルに書き込まれている数字や文字を読み込んで処理したり 指定した番地のセルへ計算結果を書き込んだりできる 上達すれば ポップアップウインドウを出して数値やメッセージの入力や表示をしたり 図形描画 画像表示やファイル操作など 様々な操作が可能

マクロの作成 1) マクロと VBA ツールは ファイル や ホーム と並んだ 開発 タブの中にあるが 既定で非表示になっているためこれを有効にする 1. ファイル タブをクリック 2. オプション をクリック 3. リボンのユーザ設定 をクリック 4. リボンのユーザ設定 および メインタブ の下の 開発 チェックボックスをオンに 2) 開発 タブ中の Visual Basic をクリックすると Microsoft Visual Basic for Applications が開く 3) Microsoft Visual Basic for Applications 上のメニューバー中の [ 挿入 (I)] から [ 標準モジュール (M)] を選択 4) < コード > ウインドウにモジュールのコード ( プログラム ) が白紙状態で表示されるので ここへプログラムを書くべし! マクロの実行 1) Excel のメニューバー中の [ 開発 ] タブの [ マクロ (M)] をクリック 2) 作成したマクロを含めて使用可能なマクロ一覧が表示されるので 選択して実行する

VBA プログラム言語の仕様 データ型 整数型 Integer -1, 0, 1, 2, など 宣言例 ) Dim loop As Integer 浮動小数点型 double 0.12, -4.56 など 宣言例 ) Dim alpha As Double 論理( ブーリアン ) 型 boolean または 宣言例 ) Dim b As boolean 演算 代入 a = 10 変数 aに10を代入 a = a + 10 変数 aの値に10を加えたものを aに代入 2 項演算 a = b + c a = b-c a = b * c a = b / c ; それぞれ加算 減算 乗算 除算 条件を満たさなければが代入される 関係演算( 演算結果がブーリアン型になる ) b = (a = c) a と c が等しいときブーリアン型変数 bにが代入 b = (a < c) a < c のときブーリアン型変数 bにが代入 b = (a <= c) a が c の値以下のときブーリアン型変数 bにが代入 変数 a,b,c 全てブーリアン型変数のとき c = a And c AND 演算子 : aとc 両方とものとき変数 cにが代入 c = a Or c OR 演算子 : aとc どちらかがのとき変数 cにが代入 配列 同じデータ型を持つ要素に番号をつけて扱う宣言例 ) Dim x(10) As Double 使い方 : y = x(1) x(3)=z w = x(loop) など

VBA プログラム言語の仕様 セルのデータを読み書きする Cells( 1, 2 ) = 100 x = Cells(3, 4) Cells( 1, 1 ).Clear 1 行目の2 列目 (1-B) のセルに数値 100を書き込む 3 行目の4 列目 (3-D) のセルの数字を変数 x へ代入 1 行目の1 列目 (1-A) のセルの中身を消去して空に 関数を使う x = Rnd() x = Sqr(y) Double 型の変数 x に0~1の乱数を代入 Double 型の変数 x にyの平方根を代入 ダイヤログを表示する MsgBox メッセージダイアログ などなど 詳細は解説書などを参照のこと

VBA プログラム言語の仕様 プロシージャ ABCD プロシージャ EFGH Sub ABCD() Dim x As Double x = 100 EFGH x Sub EFGH( z ) MsgBox z 変数の宣言 他のプロシージャ EFGH を呼び出し

流れ制御文 (1) 連接 b = a + 10 c = a + b b=a+10 c=a+b 上に書かれた文 ( ステートメント ) から順番に実行される 条件部には Boolean 型の値がくる 判断 If ( a < b ) Then c = b Else c = a End If a < b c=b c=a

流れ制御文 (2) 多方向分岐 a = 0 if ( a = 0 ) Then b = b + 2 ElseIf( a = 1 ) Then b = b + 4 ElseIf( a = 3 ) Then b = b + 1 Else b = 0 End If b = b+2 a = 1 b = b + 4 a = 3 b=b+1 b = 0

流れ制御文 (3) 前判定反復 Do While( a < 0 ) a = a + 1 Loop a < 0 a = a + 1 後判断反復 Do a = a + 1 Loop While( a < 10 ) a = a + 1 無限ループに陥ってしまった場合 Alt キーで中断する a < 10

流れ制御文 (4) 所定回数反復 For i = 1 to 8 a = a + 1 Next i = 1 ( 初期化 ) i <> 8? a = a + 1 For 文では自動的にこの処理が行われる i = i+1

複数プロシージャ間で同じ変数を共有する : グローバル変数 例 ) シンプレックス法のモジュール Dim XL, XH, XS,XI, XG,XR,XE As Double Sub Optimization() GetXG Reflect Extend Sub GetXG() XG=(XL+XH+XS+XI)/4 Sub Reflect() XR=2*XG-XH モジュールの先頭 ( プロシージャの前 ) で定義された変数は 全プロシージャで共有される グローバル変数 各プロシージャの中で定義された変数は そのプロシージャ内だけで通用する ローカル変数 Sub Extend() XE=2*XR-XG

演習問題 (1) 右に挙げた VBA のコードをマクロとして入力し 適切なセルに数字を入力して実行し 動作を確認せよ 講義資料の置いてあるホームページからソースコードのテキストファイルをダウンロードできるので利用せよ 実行する前に Excel マクロ有効ブック (*.xlsm) として保存せよ 実行するときはセル B-1 に長さ (100-300 程度 ) セル B-2 に角度 ( ラジアン ) を数値入力し 開発 - マクロ から Test1 を選択せよ ' Excel VBA サンプルプログラム '------------------------------------------------ ' グローバル変数を定義する Dim x As Double Dim y As Double '--------- プロシージャ Test1 Sub Test1() '--------- 変数の宣言 Dim length As Double Dim theta As Double '--------- セル B-1 から数字を読み込んで length に代入 length = Cells(1, 2) '--------- セル B-2 から数字を読み込んで theta に代入 theta = Cells(2, 2) '--------- 計算結果を変数 x,y へ代入 x = length * Cos(theta) y = length * Sin(theta) '--------- 変数 x,y の値をセル B-3, B-4 へ書き込む Cells(3, 2) = x Cells(4, 2) = y '--------- シート上に図形 ( 線 ) を描画する : プロシージャ Test2 を呼ぶ Test2 '--------- プロシージャ Test2 Sub Test2() '--------- シート上に図形 ( 線 ) を描画する ' グローバル変数 x, y の値を用いて処理 ActiveSheet.Shapes.AddLine 100, 100, 100 + x, 100 + y

演習問題 (2) (1)3 辺の長さ a,b,c で与えられる三角形の面積 S を求めるプログラムを作成せよ 3 辺の長さ a,b,c はワークシート上のセルの数値として与え 計算結果の面積 S も a,b,c とは別のセルに書き出せ ヘロンの公式 を利用せよ (2)a,b,c のうち長さが最大の辺を底辺として 三角形を図示せよ 演習の提出について 作成したエクセルファイルを 前回の演習で作成した九大全学ファイル共有システム http://www.m.kyushu-u.ac.jp/share/ の演習専用のフォルダへ追加でアップロードせよ 前回提出した演習と区別できるよう 第 3 回演習.xlsm 等の名前を付け またワークシートの左上に自分の氏名と学籍番号を記入しておくこと