Hokokaku() の中身
|
| |
|
Hokokaku() 関数の構造。
Hokokaku() 関数の構造は (図10-1) です。
|
| 図10-1 |
Function Hokokaku(dX, dY) As Double
Select Case dX
Case Is > 0
Select Case dY
Case Is > 0
Hokokaku = Atn(dY / dX)
Case Is = 0
Hokokaku = 0
Case Is < 0
Hokokaku = 2 * pi + Atn(dY / dX)
End Select
Case Is = 0
Select Case dY
Case Is > 0
Hokokaku = 1 / 2 * pi
Case Is = 0
Hokokaku = 0
Case Is < 0
Hokokaku = 3 / 2 * pi
End Select
Case Is < 0
Select Case dY
Case Is > 0
Hokokaku = pi + Atn(dY / dX)
Case Is = 0
Hokokaku = pi
Case Is < 0
Hokokaku = pi + Atn(dY / dX)
End Select
End Select
End Function
|
実
験
用
プ
ロ
グ
ラ
ム
|
上の内容(図10-1) を解りやすくするため (図10-2) のように 書き換えます。
見た目はずいぶん違うようですが 基本的には同じ事です。
順を追って説明するには、これくらいから始めます。
まずは、(図10-2)の通り Visual Basic エディターで 手でキーボードから入力して下さい。
簡単ですので 間違わずに 打ち込んでみてください。 End Functionで 終りです。
実験用の Hokokaku 関数が出来上がります。 (図10-2、図10-3)
|
| 図10-2 |
 |
| 図10-3 |
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
|
| 図10-4 |
 |
セ
ル
入
力
で
確
認 |
このプログラムの目的は
dXの値が 正(+)の数字であるか
dXの値が 0(±)のであるか
dXの値が 負(-)の数字のであるか を判断して。
そして dXの値が 正(+)の数字であれば エクセルのセルに 「1」を表示させます。
dXの値が 正(+)の数字であれば エクセルのセルに 「0」を表示させます。
dXの値が 正(+)の数字であれば エクセルのセルに 「-1」を表示させます。
(図10-3)
まず、エクセルのシートの セルA1 に キーボードから
=Hokokaku(5,8) と 打ち込んで (図10-5) Enter して下さい。
セル A1 に 1 (図10-6) と出るはずです。
もし 出なければ。 Visual Basic エディター(図10-2)を 調べてください。
どこかが 間違っています。 文字が1字でも違っていると正しく働きません。
|
| 図10-5 |
 |
図10-6
|
 |
各
命
令
の
仕
組
み |
=Hokokaku(5,8) の (5、8) の
5 が dXの値
8 が dYの値です
なぜかと言うと、 Function Hokokaku(dX, dY) As Double で
Hokokaku( のカッコの後に続く 「dXが変数だ」 と宣言しているからです
同じく dXの 後に(、) コンマで区切って 「dY も変数ですよ。」 と宣言しているからです。
=Hokokaku(5,8) Enter で ます最初に dXに 5 の値をおぼえます
続いて dYに 8 をおぼえこみます。 もう少しかっこよく表現しますと
「変数dX に 5 を格納する。」 と言います。 これからは このように表現します。
Function Hokokaku(dX, dY) As Double の次は Select Case dX です。
「変数Case dXの値を格納します。」 と言う意味です。
しかしこれでは何の意味かわかりません。
Select Case は [条件分岐] と言う特別な命令です。
Select と Case は 一体の命令です。 どちらを省略しても 命令は実行されません
Caseの後には 変数の名前を書きます この場合は dXが 変数です。
Case=dX なのですが、Case と dXが 同じ物なのだから Select dX
とすれば ややこしくないと思いますが うまく理屈が合いません。
Case には 別の命令を持っているため 正しい仕事をするのには どうしても
Case でなければうまく行きません。
そのため dXの値を 変数Case に格納しなければならないのです。
|
命
令
の
流
れ |
セルの情報から dX=5 、 dXに5が格納されました。
次に CaseにdXの値が 格納されます。 Case=5 となります。
Select Case dX
Case Is > 0
Case Is = 0
Case Is < 0
End Select
Select Case 〜 End Select の間に 3つの条件が書かれています。
1番目 は Caseの値が ゼロより大きいとき (0以外の正の数字)
2番目 は Caseの値が ゼロのとき (0のとき)
3番目 は Caseの値が ゼロより小さいとき (0以外の負の数字)
Caseの値は 3の条件に必ず当てはまります。
Selectは Case がどの条件に当てはまるかを調べて 選び出して
仕事をする命令なのです。
このように条件によって仕事の流れを変える命令を「条件分岐」と呼びます、
条件分岐はまだ何種類かあります。
今、 dX=5ですから Case=dX=5 です。
Case=5 に当てはまる Select Case の条件は Case Is > 0 です。
後の2条件は無視されます。
Case Is > 0
Hokokaku = 1
Case Is = 0
Case Is > 0 の真下の命令(仕事) " Hokokaku = 1 ” が 実行されます。
Hokokauの値を 「1」 にして A1のセルにHokokakuの値 「1」 を表示します。
次の条件 "Case Is = 0 " の一つ上の行まで 命令を実行します。
命令を実行し終わると 他の条件の命令を無視して End Select まで行って
分岐命令を終了します。
一連の流れは (図10-7) です。 最初の Case>0 で条件が満たされたので
後 2つの条件に合わないので 次々に無視して 終了しています。
分岐の条件は (図10-4)のようになります。
|
| 図10-7 |
 |
|
|
|
エクセルのファイル 「座標計算シート」 (有料) を用意しました。 (図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 |
|
|