...

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

by user

on
Category: Documents
10

views

Report

Comments

Transcript

エクセルによる数値計算と化学への応用
エクセルによる数値計算と化学への応用
群馬大学工学部
応用化学・生物化学科
平成21 年 4 月
前期にPCを使った文書作成、表計算、プレゼンテーションを習得しました。後期には主に表計算を
より高度に利用するための手法を勉強します。
第1章 計算の基礎
1.1 文字の表示
文字 ABC
1.2 四則計算
8
+
2
=
10
8
-
2
=
6
8
×
2
=
16
8
÷
2
=
4
1.3 数列の和
1
から
10 間での数列の和は
55
たとえば上のような表計算を考えてみましょう。上の表では文字の表示という項に必要な文字を
入力して、2つの数からその四則演算を行い、1からnまでの数列の和を計算しています。文字の
表示の部分の入力は簡素化しようがありませんが、四則計算の部分ではたとえば最初の加算の
部分に数値を2つ入力すれば加減乗除算を自動で行うことはできます。また、数列の和も一番右
下のセルに公式を入力しておけば自動的に計算してくれます。
この計算を何回も日常的に行い、印刷することを考えましょう。エクセルを起動して数値を入力し
て結果を印刷する動作を行います。入力は表示文字と3つの数値(四則演算とn)です。後は自
動で計算してくれます。印刷は印刷範囲を一度設定しておけば印刷のアイコンを押すだけです。た
いした操作ではありません。もし、間違ったセルに数値を入力してしまったらどうでしょう。作った本人
であれば問題ありませんが、全く知らない人がセルを書き換えてしまうと計算できなくなってしまいま
す。
エクセルにはマクロ(エクセル中の一連の操作をまとめてひつつのコマンドで行うことのできる機
能)としてVBA(Visual Basic for Application)を持っています。これはBASIC(プログラム言語の
ひとつ)をエクセルの操作や処理の自動化ができるようにしたものです。その意味でVBAはプログラ
ムの作り方として Visual Basic と同じであり、習得しておくと非常に便利であり、将来的に Visual
Baisc を使う場合にも役に立ちます。この授業ではこれまで勉強したエクセルの使い方による数値
計算の方法と VBA を用いた数値計算の方法を勉強します。
VBA を使って作るマクロの例を下に示します。
このボタンを押すと元のワー
クシートへ戻る
エクセルのワークシート上のコマンドボタンを押すとマクロのウィンドウが開き、実行される。実行
結果はもとのワークシートに反映される。次にこのマクロの作り方を説明します。順を追って説明しま
すから自分で試してください。
VBA 作製の準備(一回設定するだけでよい。次回以降は丌要)
① 元となるシートの作成
元となるシートを作成してください。この際に、図にあるものと同じにしてください。特にセルの位置
に注意してください。
コマンドボタンの追加
①
コマンドボタンの追加
開発メニューの挿入ボタンの下向きの▽をクリッ
クすると上の図に示したようなフォームコントロールが現れる。その中のコマンドボタンの追加を押す。
するとカーソルが細い十字に変わるのでドラッグして、必要な大きさのボタンを作成する。マウスの
ボタンから手を離すと同時に下のような画面が現れる。作製したボタンをこれでマクロに登録する。
そのため、新規作成を押す。すると、プログラムを書き込むコード画面が現れる。
② プログラムコードの記述
「計算の基礎」操作が画面へのコマンドボタンをダブルクリックするとコード記述画面が現れま
す。コード画面には Private Sub・・・と End Sub と2行のコードがあります。この2つのコードの間
に自分が実行させたい命令を記入するとワークシート上のボタンを押したときにその動作がなされ
ます。ここでは操作画面を起動することを記入します。
計算の基礎.show と記述されています。これは計算の基礎と名前を付けられたウィンドウ(プロ
グラム)を画面に示しなさいという意味です。
③ ユーザーフォームの作成
つぎに VBA の本体であるウィンドウの作成およびコードの記述を行います。ウィンドウは VBA で
はユーザーフォームと呼ばれます。先ほどコードを記述した画面のメニューで挿入→ユーザー
フォームを選択してください。
選択すると下のように新しいウィンドウが作成されます。
このボタ
ン で 小さ
くする。
このままではプログラムを作りにくいので下記のような状態にしましょう。画面右上のウィンドウを元
に戻すのボタンを押して、最大化を解除します。その後、プロジェクトエクスプローラ、プロパティウイ
ンドを表示し、適当な位置に配置します。もし、プロジェクエクスプローラやプロパティウインドが画面
上に現れていなかったら、表示をクリックして画面上に表示してください。
ツールボックスのツ
プロジェク
ールを選択して画
面を作成する。
トエクスプ
ローラ
計算の基礎
プロパティ
ウインド
この部分にボタン
やラベルを配置
する。
ユーザーフォームをクリック しユーザフォームのプロパティウインドの一番上のオブジェクト名を
UserForm1 から計算の基礎に変更してください。ツールボックスを使ってボタンやラベルを配置し
ます。それぞれの
ツールが何を意
味するかはマウス
カーソルをツール
の上に移動すると
説明が現れます。
ラ ベルを 8個、テ
キストボックスを4
個、コマンドボタン
これと同じようにす
る。
を5個使って次の
画面を作成してく
ださい。
オブジェクト名を
変更する
プログラムコードの記述
プログラムコードの記述は先ほどと同じように各オブジェクトをダブルクリックして行います。
次のページにあるコードを記入してください。
各コードについて簡単に説明します。
Private Sub Commandbutton1_Click()
コマンドボタンの1をクリックしたときに行う動作を記述することを意味している。
Worksheets("基礎計算").Activate
基礎計算と名前を付けたワークシートを使うことの宣言。
Set WS = Worksheets("基礎計算").Application
選択したワークシートを WS という略称に設定している。これで WS を使うことで基礎計算のワー
クシートを指していることになる。
WS.Range("b7") = TextBox1.Text
Range()命令は括弧内のセルを選択するという意味です。その前の WS はセル指定を行うワー
クシート名です。この命令は選択したセルに TextBox1.txt の内容を代入するという意味です。
TextBox1.txt とはテキストボックスの1番目(これはプロパティのオブジェクト名です)の内容
(Text)を代入するという意味です。プログラミングでは=(イコール)は代入水るを意味します。
Dim aa As Double
プログラミング(コーディング)では使う変数(値や文字を格納する器)を必ずどの様な類のものか
を定義して使います。この場合、aa という名前の変数を倍精度(有効数字の多い数)と定義して
います。
For m = 1 To cc
sum = sum + m
Next
この命令は繰り返しを意味します。つまり、For・・・から Next までを繰り返すことを意味してい
ます。繰り返す回数は m という変数が1から cc までです。この場合に1から cc までは1刻みでとい
う意味です。つまり、m 回繰り返すことを意味します。
Unload Me
この命令はウィンドウを閉じる(作成したユーザフォームを終了する)ことを意味しています。
Private Sub CommandButton1_Click()
Worksheets("基礎計算").Activate
Set WS = Worksheets("基礎計算").Application
WS.Range("b7") = TextBox1.Text
End Sub
Private Sub CommandButton2_Click()
Worksheets("基礎計算").Activate
Dim aa As Double
Dim bb As Double
Set WS = Worksheets("基礎計算").Application
WS.Range("B10") = TextBox2.Text
WS.Range("B11") = TextBox2.Text
WS.Range("B12") = TextBox2.Text
WS.Range("B13") = TextBox2.Text
aa = TextBox2.Text
WS.Range("d10") = TextBox3.Text
WS.Range("d11") = TextBox3.Text
WS.Range("d12") = TextBox3.Text
WS.Range("d13") = TextBox3.Text
bb = TextBox3.Text
WS.Range("f10") = aa + bb
WS.Range("f11") = aa - bb
WS.Range("f12") = aa * bb
WS.Range("f13") = aa / bb
End Sub
Private Sub CommandButton3_Click()
Worksheets("基礎計算").Activate
Dim cc As Double
Dim m As Double
Dim sum As Integer
Set WS = Worksheets("基礎計算").Application
WS.Range("D16") = TextBox4.Text
cc = CLng(TextBox4.Text)
sum = 0
For m = 1 To cc
sum = sum + m
Next
WS.Range("G16") = sum
End Sub
Private Sub CommandButton4_Click()
Worksheets("基礎計算").Activate
Unload Me
End Sub
Private Sub CommandButton5_Click()
Worksheets("基礎計算").Activate
Unload Me
End Sub
マクロが、できたら一度保存して、エクセルを終了してして下さい。そして、もう一度マクロを含んだエ
クセルのファイルを開いて下さい。すると、セキュリティの警告が現れます。この中のオプションをクリ
ックして下さい。そして、このコンテンツを有効にするをチェックして下さい。
マクロを実行するにはシート上に作製したボタンをクリックして下さい。
このボタンを押して
マクロを実行する
実行すると作成した画面が現れます。(もし画面が現れずエラーが出たらこれまでのところを見直
してください。
この画面に文字、数値を入力して文字の表示、四則計算、数列の和などを試してみる。
マクロの実行後はワークシートの内容が変わっています。確認してください。
マクロのボタンの名前を変更しましょう。ボタンの上で右クリックす
ると右のようなメニューが現れます。この中のテキスト編集を選択
して下さい。すると、ボタン上の文字を変更できます。
プログラムの修正を行いたいときには開発のメニューの一番右の Visual Basic を選択して下さい。
コード画面になります。
Fly UP