Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : 指定なし)
VBAで角度を計算するには
投稿日時: 22/10/31 18:06:12
投稿者: mattuwan44

いつもすみません。
 
例えば、
 
a = 10 + i * Cos(53°45'11")
 
というような計算をしたいとき、VBAではどのように書けばよいでしょうか?
 

回答
投稿日時: 22/11/01 11:37:58
投稿者: QooApp

初めて見る書式なので今現在の状態で一発で正しいことを言うのは無理なのですが、
 
・入力の値としてどのような値を参照しているのか?
・出力の値としてどのような形式を望むのか?
 
を説明してもらう必要がありそうです。
 
おそらくですが、ラジアン角としての出力なのか、角度としての出力なのかなどパターンがあります。
エクセルのセルに入力するエクセル関数でも三角関数を使用して角度を出力する際などは間にラジアン角を挟む必要があります。(関数の引数がラジアン角指定のため)
 
cos()の53度はわかるのですが、
・10の部分
・iの部分
・45'11"
が何を示すのか私は存じ上げません。

回答
投稿日時: 22/11/01 14:36:33
投稿者: Suzu

引用:
例えば、
  
a = 10 + i * Cos(53°45'11")
  
というような計算をしたいとき、VBAではどのように書けばよいでしょうか?

 
その中の何がお判りにならないのでしょうか。
 
 
引っかかりそうな部分としては以下でしょうか?
 
1. 三角関数 Cos の引数は ラジアンで渡す必要があるので、度 を ラジアンに変換する
  → 度 / 180 * Pai
 
2. 度、分、秒 を、 度の 小数点に直す
  → 度 + 分/60 + 秒/60^2
 
3. 度 から ラジアン に変換するのに、円周率が必要であるが、VBA内には、Pai を表す定数がない
  → Pai = 4 * Atn(1)

投稿日時: 22/11/01 16:59:33
投稿者: mattuwan44

回答ありがとうございます。
 
>・入力の値としてどのような値を参照しているのか?
入力の値は、
53°45'11"
とか
53-45-11
とか
53.4511
とか分かれば何でもよいです。(たぶんマクロは使い捨てになるので)
 
>・出力の値としてどのような形式を望むのか?
例でいくと、
-73001.062
というような数値になります。
 
>その中の何がお判りにならないのでしょうか。
全部といえば全部です。
 
あぁ。。。。
 
1)60進数の角度をを10進数に変換
2)角度をラジアンに変換
とすればよいのですね。ちょっとやってみます。

投稿日時: 22/11/05 11:59:12
投稿者: mattuwan44

ありがとうございました。
 
ワークシート上で確認しました。