• 締切済み

EXCELのVBAマクロについて

ExcelのVBAマクロを使って 度 sinθ cosθ sinθ+cosθのデータを表示する課題が出たのですがやり方が全く分からなくプログラムコードにも詳しくないため困っています。 教えていただけたらありがたいです。

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 「この課題は必修ではないので教わっていないコードも出てくるらしいです。」 ふだん、ここの回答者は、学校の宿題のようなものは回答しないのが建前なのですが、最近、同様の質問がありましたので、いつくかの方法でマクロを作ってみました。 どういう前提があるのか分かりませんので、かなりコードとして変わってくると思います。結局、VBA自体で作るよりは、ワークシート関数を貼り付けるほうがよいと思いました。 なお、どうみても、グラフが違うようですが。 なお、以下の二つのマクロは、両方とも欠けている部分があります。ふたつのマクロを比べてみれば分かります。グラフにするには問題はないものの、プログラミングとしては、どちらも正答だとは言えないかもしれません。一般的には、Macro1 の方が修正しやすいはずです。 '--------------------------------------- Sub Macro1() Dim i As Long   Cells(1, 1).Value = "度"   Cells(1, 2).Value = "sinθ"   Cells(1, 3).Value = "cosθ"   Cells(1, 4).Value = "sinθ+cosθ"   i = 1 '行数   Do     Cells(i + 1, 1).Value = (i - 1) * 5 '角度     Cells(i + 1, 2).Formula = "=SIN(RADIANS(RC[-1]))"     Cells(i + 1, 3).Formula = "=COS(RADIANS(RC[-2]))"     Cells(i + 1, 4).Formula = "=RC[-2]+RC[-1]"     i = i + 1   Loop Until (i - 1) * 5 > 360 '360度まで End Sub '-------------------------------- Sub Macro2()   Dim d As Long   Dim i As Long   Dim Pi As Double   Pi = 4 * VBA.Atn(1)   Cells(1, 1).Value = "度"   Cells(1, 2).Value = "sinθ"   Cells(1, 3).Value = "cosθ"   Cells(1, 4).Value = "sinθ+cosθ"   i = 1   Do     d = (i - 1) * 5     Cells(i + 1, 1).Value = d     Cells(i + 1, 2).Value = Sin(d * Pi / 180)     Cells(i + 1, 3).Value = Cos(d * Pi / 180)     Cells(i + 1, 4).Value = Cells(i + 1, 2).Value + Cells(i + 1, 3).Value     i = i + 1   Loop Until d >= 360 End Sub '------------------------------------------

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

このグラフを作る上で、VBAはどこで使う事になっているのでしょうか? たとえば一度マクロの自動記録を取ってみて、それから変更を加えてみるとか? 課題だと条件に合わない(教わっていない)コードでは無理ですよね?

topguniwa
質問者

補足

「VBAマクロを使って 度 sinθ cosθ sinθ+cosθのデータを表示する」のが課題で、グラフを表示する際にVBAは用いりません。 この課題は必修ではないので教わっていないコードも出てくるらしいです。 よろしくお願いします。