|
|
| Excel VBA Macro ・ 関数など ・ FAQ |
|
Acos、Cos、Sqr関数をVBAで使用する?
|
|
|
|
Question 66.9 |
Excel VBA Borad (掲示板)より |
 |
 |
|
|
はじめまして。VBAはさっぱりでどう質問していいかわからないのですが、
x=acosθ+5acos(β−α)=acosθ+5acos{arccos(5−4cosθ
/5√(5−4cosθ))−arccos(2−cosθ/√(5−4cosθ))}
y=asinθ+5asin{arccos(5−4cosθ/5√(5−4cosθ))
−arccos(2−cosθ/√(5−4cosθ))}
この式をプログラム上で動かしたいのですが、VBAを使用した方法を教えていただきたいです。
|
|
|
acosも arccosもアークコサインとしてレスしますけど、コサインはCos関数、アークコサインはワークシート関数のACOS関数、平方根は単に1/2乗するかSqr関数(ワークシート関数だとSQRT関数)を使って求められます。
よって、上の式は
With WorksheetFunction
x = .Acos(θ) + 5 * .Acos(β - α) _
= .Acos(θ) + 5 * .Acos(.Acos(5 - 4 * Cos(θ) _
/ 5 * Sqr(5 - 4 * Cos(θ))) - .Acos(2 - Cos(θ) _
/ Sqr(5 - 4 * Cos(θ))))
End With
といった感じになります。
(xには比較演算の結果であるブール型の値が代入されますので、
最初の .Acos(θ) + 5 * は、いらないようにも思いますが)
なお、θ、α、ベータは弧度でないといけません。
また、XL95で運用させる場合には、WorksheetFunctionオブジェクトはありませんので、
With WorksheetFunction を With Application にしてください。
下の式は上の式と大差ありませんので、ご自身でやってみてください。 アークサインはワークシート関数のASINで求められます。
|
|
|
|
| |
|
|