Microsoft Word - VBA基礎(2).docx

Similar documents
Microsoft Word - VBA基礎(6).docx

方程式の解法

Microsoft Word - VBA基礎(3).docx

ExcelVBA

連立方程式の解法

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

PowerPoint プレゼンテーション

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

sinfI2005_VBA.doc

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

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

Microsoft Word _VBAProg1.docx

1. 関数 scanf() 関数 printf() は変数の値を画面に表示しますが それに対し関数 scanf() はキーボードで入力した値を変数に代入します この関数を活用することで対話式 ( ユーザーの操作に応じて処理を行う ) プログラムを作ることができるようになります 整数の和

プログラミング実習I

Microsoft PowerPoint - vp演習課題

PowerPoint Presentation

MS-ExcelVBA 基礎 (Visual Basic for Application)

Microsoft PowerPoint - class04.ppt

Microsoft Word - VBA基礎(1).docx

プレポスト【問題】

ガイダンス

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

JavaプログラミングⅠ

プログラミング演習

情報処理実習(工基3)

初めてのプログラミング

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

スライド 1

Microsoft Word - no103.docx

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

PowerPoint プレゼンテーション

プログラミング実習I

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

Java講座

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

Microsoft Word - no02.doc

スライド 1

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

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

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

Microsoft Word - VB.doc

JavaプログラミングⅠ

PowerPoint プレゼンテーション

※ ポイント ※

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

Microsoft PowerPoint - 説明2_演算と型(C_guide2)【2015新教材対応確認済み】.pptx

プログラミング基礎

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

Microsoft Word - 18環設演付録0508.doc

Report#2.docx


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

ポインタ変数

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

Microsoft Word - no11.docx

PowerPoint Presentation

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

C 言語第 3 回 2 a と b? 関係演算子 a と b の関係 関係演算子 等しい a==b 等しくない a!=b より大きい a>b 以上 a>=b より小さい a<b 以下 a<=b 状態 真偽 値 条件が満たされた場合 TRUE( 真 ) 1(0 以外 ) 条件が満たされなかった場合 F

PowerPoint プレゼンテーション

マウス操作だけで本格プログラミングを - 世界のナベアツをコンピュータで - プログラムというと普通は英語みたいな言葉で作ることになりますが 今回はマウスの操作だけで作ってみます Baltie, SGP System 操作説明ビデオなどは 高校 情

PowerPoint プレゼンテーション

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

JavaプログラミングⅠ

Microsoft Word - COMP-MATH-2016-FULLTEXT.doc

Microsoft PowerPoint - kougi4.ppt

情報基礎A

解答編 第 7 章実数型の計算と標準数学関数 演習問題 7.1 文法事項 1 ) 暗黙の型変換とは何か答えなさい 代入演算子 (=) や算術演算子 (+,-,*,/,%) では 2 つの演算項のデータ型が揃っている事が必要です 2 つの演算項のデータ型が異なる場合 可能ならば 演算項のデータ型を変換

C#の基本

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

Report#2.docx

FORTRAN( と C) によるプログラミング 5 ファイル入出力 ここではファイルからデータを読みこんだり ファイルにデータを書き出したりするプログラムを作成してみます はじめに テキスト形式で書かれたデータファイルに書かれているデータを読みこんで配列に代入し 標準出力に書き出すプログラムを作り

スライド 1

文法と言語 ー文脈自由文法とLR構文解析2ー

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

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

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

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

gengo1-2

2. 基本操作 DATE: H27/ 9/11 エクセルで作成したファイルのことを ブック といいます ブックには データを記述できる ワークシート が用意されています ワークシートは行と列で構成されており セル と呼ばれるマス目には 文字列や数値 計算式などのデータが入ります セルにデータを入力し

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

ワープロソフトウェア

Microsoft Word - no202.docx

Prog1_2nd

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

1. 入力画面

アプリケーション

Microsoft Word -

情報資源組織演習B:

PowerPoint プレゼンテーション

Sheet2 に作成する表 問題 2 前問の成績表 (Sheet2) の各教科の順位の列の次に評価の列を作って 生徒ごとに各教科の評価をし なさい なお評価は 各教科 A(100~85) B(84~70) C(69~55) D(54 以下 ) とする 1.4 集中力度チェックテスト自分の集中力がどの

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ

Microsoft PowerPoint - while.ppt

講習No.8

memo

スライド 1

プログラミング演習

Microsoft PowerPoint - prog03.ppt

PowerPoint プレゼンテーション

Transcription:

変数

test1 を実行してみてください 結果はメッセージボックスに 100 と表示されるはずです Sub test1() a = 10 このプルグラムでは a という文字がつかわれています MsgBox の機能はこの命令に続くものを画面に表示することで MsgBox a * a す つまり a*a を表示しています プログラムでは * は掛け算を意味しますの で画面に 100 が表示されたということは a*a すなわち a の 2 乗が 100 という ことになります この命令の上の行を見てみると a=10 とあります つまり a は 10 に等しいと定義しています いったん定義してしまえば a を用いて式を 書くことで計算ができていることがわかります このように a は値を格納しています こ Sub test2() の a のようなものを変数と呼びます 変数 は数字や文字などを格納するは容器だと a = 10 考えればいいでしょう 変数は変数の規格 MsgBox a * a に合えば何度でも値を入れ替えることが a = 20 できます test2 を修正してみてください MsgBox a * a 最初に 100 が表示され 続いて 400 が表 示されるはずです このように変数に値を 入れ替えることで計算を行うことができ プログラムの一般化ができます 変数を使うためには規則があります まずは 変数を使うことを定義 ( 宣言 ) する必要があります プログラムの 2 行名の命令が変数の定義です 変数の定 義は次のように行います Dim X1 As Double アイエオ 変数の定義は上記のように記述されます ア : 変数の定義を行いますという宣言イ : 定義する変数名変数名は自由につけることができるがアルファベットと数字および _( アンダーライン ) でその変数が何を意味するかを考えてつけるようにすると良い ただし 頭文字に数字やアンダーバーは使うことができない 漢字やひらがなカタカナなども使うことができるが別のコンピュータに持って行った場合にエラーを起こす

可能性があるので使うべきではない エ : イの変数をどの様な変数として定義するかという意 味の命令 オ : 変数の種類 変数の種類には次のようなものがあります データの型 データの特徴 データの例と範囲 Integer 整数 ( 小数点のつかない数値 ) 0,5, 100-32768~32767 Long 桁数の大きい整数 (Integer も含む ) -24534, 100000000-2147483648~2147483647 Single Double 実数 ( 小数点を含む数値 ) 桁数がかなり大きい実数 (Single も含む ) -2.0, 12.8 負 :-3.4E+38~-1.4E-45 正 :1.4E-45~3.4E+38-2.5 10 50, 3.5 10-100 負 :-1.8E+308~-1.9E--324 正 :4.9E-324~1.8E+308 String 文字カレーうどん 大学変数の型としては上記のもの以外にも Date, Byte 等があります ここでは必要ないので割愛します プログラムで定義する変数は常にプログラムの一番最初で定義します そして この変数の有効範囲は定義した部分から までです すなわち Private がその変数が有効な範囲です プログラムではそれぞれのコマンドボタンやテキストボックスなどにそれぞれプログラムを記述することができます その単位をプロシージャと呼びますが 通常 変数は各プロシージャ内でのみ有効です つまり 別のプロシージャで同じ変数を定義することが可能です test3 を実行してみてください 実行するとエラーが発生します Sub test3() Dim b As Integer a = 1000 b = a * a MsgBox b

このエラーは変数が扱うことのできる範囲外の値が変数に代入されたことを意味しています 上の表を見ると Integer の範囲は -32768~32767 ですので a*a の結果は明らかに範囲外です 変数 b の型を Integer より大きな数値を扱うことのできる方に変更しましょう test4 を実行してみてください test4 では b は Long ですので十分 に結果を扱うことができます 結果として 1000000 が表示されたはずです ここで b=a*a としてプログラムを実行すると同じエラーが発生します これは a*a は Integer 同士の計算のため計算した結果も Integer 扱いになり 範囲を超えてしまうためです b=a*a では式の左辺は Long 右辺は Integer というように式の左右で変数の型が異なっています プログラム上では式の左右は同じ型にしないとこのようなエラーが生じます そこで右辺を Long に変換して計算する必要があります test4 で b = CLng(a) * CLng(a) としているのは右辺の a(integer) を Long に変換するためです Clng(X) は数値 X を Long に型変換する関数です これを使って CLng(a) で a を Long に 変換して計算しています test5 を実行してみてください ここでもエラーが発生します この場合も test3 と同様にオーバーフローです ここでは a 4 を計算しています 結果は 10 12 ですので間違いなくオーバーフローします 整数で扱うことのできる数値に最大値は Long までです これより大きな値は Single,Double で扱います test6 を実行してみてください これでは b は Single として定義されています また 先ほどの Long の場合と同じように Integer である a を Single に変換する必要があります その関数が CSng です Sub test4() Dim b As Long a = 1000 b = CLng(a) * CLng(a) MsgBox b Sub test5() Dim b As Long a = 1000 b = (CLng(a) ^ 4) MsgBox b Sub test6() Dim b As Single a = 1000 b = (CSng(a) ^ 4) MsgBox b

test7 を実行してみてください 実行するとまず 値を入力するための InputBox が現れます これは使用者に何か入力を求める場合に用います 入力された値や文字は等号の左側にある変数に代入されます プログラムで用いられる Sub test7() Dim a As Double Dim b As Double a = InputBox(" 値を入力してください ") b = InputBox(" 値を入力してください ") Cells(1, 1) = a + b Cells(1, 2) = a - b Cells(1, 3) = a * b Cells(1, 4) = a / b 等号は数学の様に等しいということを意味するというより右辺を左辺に代入するという意味の方が強いです test7 では a,b に入力された値の四則演算が行われ Cells の命令でエクセルシートへ表示されています Cells はエクセルシートのセルを行列形式で指定して表示します Sub test8() Dim moji1 As String Dim moji2 As String moji1 = InputBox(" 文字を入力してください ") moji2 = InputBox(" 文字を入力してください ") Cells(5, 5) = moji1 Cells(5, 6) = moji2 Cells(6, 6) = moji1 & moji2 test8 を実行してみましょう このプログラムでは数値なく文字を入力します 変数の定義でも String になっています 入力された文字は変数 moji1,moji2 へ格納され Cells 関数でエクセルシートへ表示されます ただし 最後の Cells の右側は moji1 & moji2 となっています & の前後には空白を入れてください & の意味は文字を結合するという意味です 結果を見てみると確かに 6 行 6 列目のセルに 2 つの文字が結合した結果が現れているはずです

Worksheets 関数 Sub test10() Dim moji1 As String Dim moji2 As String Dim WS As Object Worksheets(1).Activate Set WS = Worksheets(1).Application moji1 = InputBox(" 文字を入力してください ") moji2 = InputBox(" 文字を入力してください ") WS.Cells(5, 5) = moji1 WS.Cells(5, 6) = moji2 Worksheets(2).Activate Set WS = Worksheets(2).Application WS.Cells(6, 6) = moji1 & moji2 エクセルシートで新しいシートを追加した後に test10 を実行してみてください 赤字の部分が test9 から変化しています 新たに WS という変数が定義されています この変数は Object と定義されています これはエクセルのシートなどのオブジェクトを格納する変数です 次に続く 2 行はワークシートを指定する命令です Worksheets(1).Activate Set WS = Worksheets(1).Application 1 行目でワークシートを選択して そのシートを Object 変数 WS に格納しています セルを指定するときは WS を頭につけてどのシートのセルに表示するかを明示しています つまり WS.Cells(5,5) は WS で指定されたシートの 5 行 5 列めのセルへ値を表示しなさいという意味です 続いて下記 2 行が現れます Worksheets(2).Activate Set WS = Worksheets(2).Application ここでは表示するシートを変更しています ここでは 2 番目のシートへ表示するように変更しています 実行すると 2 枚のシートに文字が表示されているはずです

フローチャート プログラムを作るときに重要なことは処理手順を明確にしたのちにプログラムを組むことです その処理手順を示すものがフローチャートです プログラムを組む前のしっかりとしたフローチャートが出来上がっていればプログラムは完成したも同然です また フローチャートを書くことができるということはプログラムだけでなく日常の作業の時にも手順を明確にできるということですので特に実験を行うときには重要です フローチャートを作るときには下のような記号を使います 端子フローチャートの始まり及び終わり 処理計算 代入などの処理 サブプロシージャ定義済みの処理判断条件分岐 表示結果の表示 ループの開始 ループの終了 入出力ファイルへの入出力 ページ内結合子 ページ外結合子 フローチャートを作成する際の基本事項は以下の通りです (1) フローチャートの最初と最後を明確にする (2) 基本的に処理は上から下へ流れる (3) 処理の流れが変わるときには分岐構造 反復構造を用いる (4) 線が交差しないようにする フローチャートは基本的に順次構造 分岐構造 反復構造で構成される

順次構造実験の次の手順をフローチャートで表してみる 実験 1 0.1mol/l のシュウ酸水溶液を作る 1. XXXg のシュウ酸 2 水和物を精秤する 2. 100ml のメスフラスコに完全に移す 3. 水を約半分位まで加える 4. 完全に溶解する 5. メスアップする これをフローチャートで表すと次のようになります この流れは 1-4 を順次 実行するだけです 100ml のメスフラスコに完全に移す 水を約半分位まで加える 完全に溶解する メスアップする この手順では単純に上から下へ作業を行うだけです

分岐構造条件によって処理が異なる場合がある 分岐構造である 条件判断にはを用いる 次のようなフローチャートを考えてみる 実験 2 滴定を行う 1. 水酸化ナトリウムを滴下する 2. 溶液を撹拌する 3. 色を確認する 透明の場合は1. へ戻る 赤色の場合は4. を行う 4. ビュレットの目盛を読む この操作では滴下し 混合した後に色を判断する 色によって操作が異なります 滴定をおこなう 水酸化ナトリウムを滴下する 溶液を撹拌する 透明 赤色 ビュレットの目盛を読む

反復構造ある操作を複数回行う場合には反復構造を使います 次の操作を考えてみましょう 実験 3 吸光度を測定する 1. 波長を 300nm に合わせる 2. 波長が 300-500nm にあるか判定する 範囲外の場合は終了 3. 吸光度を読む 4. 波長を変更する 2. を実行このような場合には命令の使い方によって下の様に複数の表現の仕方がある 状況によってどちらが便利であるかが異なる 吸光度を測定する 吸光度を測定する 波長を 300nm に合わせる ループ波長を 300-500nm の範囲で変化させる No 吸光度を読む Yes 吸光度を読む ループ 波長を変更する