Hokokaku() の中身
|
| |
|
Hokokaku() 関数の構造。
Select Case 〜 End Select の話 続きます。
|
| 図11-1 |
Function Hokokaku(dX, dY) As Double
Select Case dX
Case Is > 0
Hokokaku = 1
Case Is = 0
Hokokaku = 0
Case Is < 0
Hokokaku = -1
End Select
End Function
|
|
dX=0 の 場合 の 動作
前回の続きです。
=Hokokaku(5,8) を =Hokokaku(0,8) に変更します。 プログラムは そのままです。(図11-1)
セルの情報から dXに 0 、 dXに 8 が格納されました。
次に CaseにdXの値が 格納されます。 Case=0 となります。
Case=0 に当てはまる Select Case の条件は Case Is = 0 です。
Case Is > 0 は条件が満たされないので 無視されます。
次の Case Is = 0 の条件が一致するので
真下の命令(仕事) " Hokokaku = 0 ” が 実行されます。
Hokokauの値を 「0」 にして A1のセルにHokokakuの値 「0」 を表示します。
次の "Case Is < 0 " は満たされないので 無視されます。
End Select で 分岐命令を終了します。
一連の流れは (図11-2) です。
エクセル の "Sheet1" に戻って セル A1 に =Hokokaku(0,8) と打ち込んで
" Enter " で セル A1 に 「0」 と表示されていることを 確かめてください。
|
| 図11-2 |
 |
|
dX < 0 の場合の 動作
=Hokokaku(-3,8) に変更します。
セルの情報から dXに -3 、 dXに 8 が格納されました。
次に CaseにdXの値が格納されます。 Case=-3 となります。
Case=-3 に当てはまる Select Case の条件は Case Is < 0 です。
Case Is > 0 は条件が満たされないので 無視されます。
次の Case Is = 0 は条件が満たされないので 無視されます
次の "Case Is < 0 " は満たされるいので 実行されます。
真下の命令(仕事) " Hokokaku = -1 ” が 実行されます。
Hokokauの値を 「-1」 にして A1のセルにHokokakuの値 「-1」 を表示します。
End Select で 分岐命令を終了します。
一連の流れは (図11-3) です。
エクセル の "Sheet1" に戻って セル A1 に =Hokokaku(-3,8) と打ち込んで
" Enter " で セル A1 に 「-1」 と表示されていることを 確かめてください。
|
| 図11-3 |
 |
|
Select Case 〜 End Select の 働きが少しわかったでしょうか。
では、 なぜ方向角を求めるのに Select Case 〜 End Select
で条件分岐する必要があるのでしょうか
方向角を求めるは dX 、 dY の値を 方向角= tan-1dY/dX の式
に代入して 求めます。
コンユーターは dY/dX を計算するとき
dX=0 では dY/0 となり 「dYを0で割ったので 計算出来ません。」
と 文句を言ってきて 計算してくれません。
実験してみましょう (図11-4) のように 打ち込んでください。
|
| 図11-4 |
Function Hokokaku(dX, dY) As Double
Hokoaku = dY / dX
End Function

|
ゼ
ロ
で
割
る
実
験 |
実験です。
エクセルのセルA1 に =Hokokaku(12,84) と 打ち込んでください。
セルA1には 7 と出るはずです

では、エクセルのセルA1 に =Hokokaku(0,84) と 打ち込んでください
セルA1には #VAULE! と出るはずです

これでは(#VAULE!) 計算出来ません。
dXが 0 になる場合 計算できなくなるエラーを防ぐため
dX=0 で計算を中止するようにしなければなりません。
そのため dXが 「ゼロであるか、ゼロで無いか」 を判断しています。
Select Case 〜 End Select を使う理由の一つ目がこれです。
|
|
|
|
エクセルのファイル 「座標計算シート」 (有料) を用意しました。 (図5-3)
このファイルで ToraX、 ToraY 関数のマクロが完全に表示されます。
● トラバー計算、逆トラバー計算を一つの画面で処理する標準フォーム
● 標準フォームページを即、使うための解説
● VBA による 座標関連関数 のリソース(プログラム)の公開
● Hokokaku(dX, dY)の完全な動作, と記述を含みます。
● リソースの解説のための計算例
● プログラム作成のための補足説明
が含まれています。
この講座は 順次回を重ねていくと 最終的には 「座標計算シート」が出来上がります。
前もって 「座標計算シート」を手元に置かれて 参考にしながら 実際に作動させて
確認していただくと よりいっそう理解しやすいです。
また、本講座と 「座標計算シート」があれば 本格的な、座標計算やVBAの教材としても
十分に活用できるものと考えております。
テキストファイル入手方法は下欄でお確かめ下さい。
|
|
|
|
”エクセル” ファイル 「座標計算シート」 申し込み方法
ファイル代金 ¥2,000円 を下記の銀行に振り込んで下さい。
恐れいりますが、 メールにて
★ ファイルの送り先のメールアドレス
★ あなたの名前 (お名前がわからないと振込みの確認ができません)
以上をお知らせください。
確認ができしだい メールにてファイルを送らせていただきます。
もし、1週間経ってもファイルが届かない場合、お叱りのメールを下さい。直ちに対処いたします。
連絡先メール mt7116@mandala.ne.jp
振込み先
阿波銀行山川支店(店番号406)
普通預金
口座番号 1034509
永井 俊 (ナガイ タカシ)
ファイル代金 ¥2,000円
|
|
|
|
back to room 711 top goto e-school top |
|
|