• 締切済み

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は用いりません。 この課題は必修ではないので教わっていないコードも出てくるらしいです。 よろしくお願いします。

関連するQ&A

  • Excel 2003のVBAマクロデータをExcel 2007で見たい

    Excel 2003のVBAマクロデータをExcel 2007で見たい。 Excel 2003でVBAマクロを登録したExcelファイルがありますが、今回、Excel 2007をインストールして、該当ファイルを開いたところ、「マクロデータを削除しました。」とメッセージが出て、VBEを起動してもマクロが見えなくなりました。OSはWindowsXP SP3です。Excel 2003で登録したVBAマクロをExcel 2007で削除されないで、次の2点について、可能にするにはどうすればよいか、ご教示願います。 (1)マクロデータを残す方法。 (2)マクロ起動する方法。

  • エクセルのマクロとVBAについて

    まだあまり多用していないのですが、エクセルでは使っていくアイコンを指定することで(それを利用することで)、マクロを組みそれがエクセルのVBAで記述されるということですが、その逆エクセルのVBAで記述したプログラムを動作に対応したアイコン等の流れで示すことは出来るのでしょうか?もしあったらどのような方法でしょう?

  • エクセルVBA

    エクセルVBAのコードについて質問です。エクセル初心者です。 Windows10で32bit版のエクセル2010を使っています。 1.エクセルのマクロは32bit版でも64bit版にも対応できるようコードを組んでいるのですが、 32bitで動いているのか64bitで動いているのかどのように確かめたらよいでしょうか? あるマクロの途中に #If VBA7 And win64 Then MsgBox ” 64bit ” #Else またはIf VBA7 And win32 MsgBox ”32bit” #End If を組み込むと、If分の終わりには If分の最後に#EndIfが必要です、と表示されて(EndIfを書いているのに) エラーになります。 2.エクセルマクロをIEと連携させて使っています。 IEを操作させている途中でエクセルのメッセージBoxを最前面表示させるには どうしたらよいでしょうか? IEで特定の操作をしたら、エクセルが最前面に出て、OKボタン付きのメッセージBoxが表示され、OKボタンを押すとIEを操作する という動作をコードに書いています。 コードを書いた直後は、IE上での特定の操作のあとメッセージBoxが適切に最前面表示されますが、 一度保存し閉じてファイルを開き直しマクロを実行すると、メッセージBoxは最前面に出てくれません。 検討したコードは 1. SetForegroundWindow 2.VBA AppActivate. Microsoft Excel. Capture 3.AppActivate Microsoft です。いずれのコードを書いた場合も、保存まではうまくメッセージBoxに回答できるが 保存しファイルを開き直してマクロを実行するとメッセージBoxはIEの後ろに隠れたままであり、エクセルを選択しないと最前面表示されません。 しかし一応最前面表示されることもあることから、マクロを一度実行するごとにエクセル内のデータが変わる可能性も考えられす。

  • EXCEL マクロ・VBA 自動で連番を振る

    EXCELのマクロ・VBAについて質問です。 例えば、B列にデータを入力すると、入力した行まで自動的にA列に連番が入力されるようにしたいのですが、どういった方法があるでしょうか。 マクロやVBAについてはこれから勉強をしようと思っている素人ですので、コードとその解説をいただけると助かります。

  • エクセル:VBA:マクロコード

    エクセルVBAで、 (質問1) マクロでsheet1のデータを処理して、sheet2に結果を表示するマクロで最初にsheet2をクリアーするというのはどうコードしますか。 (質問2) マクロでsheet1のセル/データを使ったりsheet2のセル/データを使ったりしますが、データはどう切り替えるのですか。 常に今どちらのシートのことを問題にしているか宣言するのですか。 その場合、 例えば今sheet1を扱ってるとした場合にsheet2のデータCells(10, "D")をsheet1のセルCells(10, "D")に入れる場合、 Cells(10, "D")=Sheets("sheet2").Cells(10, "D")こうなりますか。

  • マクロとVBAの違いは?

    最近officeのVBAを勉強してるのですが「マクロ」と「VBA」って何が違うのでしょうか? アクセスはマクロとVBA(VBE)が別れてるけど、 エクセルは「マクロの記録」でVBAコードが取得できますよね。 マクロとVBAは同じ意味なのか、違う意味なのか教えていただけますか?

  • VBAマクロを含んだEXCELファイルが開けません。

    どうも。 VBA初心者です。 VBAのマクロを含んだEXCELファイルを作成、保存したのですが、EXCELファイル自体が開けなくなってしまいました。 コードの内容は繰り返し制御の練習(WHILE LOOP)ですので、たいしたことはしていません。 原因がお分かりになる方は教えてください。

  • エクセルのマクロ、VBAって?

    お世話様です。 エクセルは関数(fx)で計算等は出来るのですが マクロ、VBAとなるとさっぱり判りません? マクロ、VBAとは何ですか? どのような時にマクロ、VBAを使用するのでしょうか? 参考URLがあれば教えてください。 以上、お願いします。

  • エクセルのVBAマクロについて

    エクセルのVBAマクロについて、添付のような物を考えているのですが、宜しくお願いします。 B3~E15に関数を入れて、TRUE となったデーターを表示 させるまでは出来たのですが、このデーターをF~I列へ上から順に (空白行は詰めて)順次記録して行きたいのです。 B3~E15に表示させるデーターは、別シートから抽出し、 切り替えますので、結果を表示させたら、ボタンを押して記録し、 再度別データーを入れたらその下に記録して行くような仕組み を考えております。 宜しくお願いします。

  • エクセル2003で作ったVBAが2007で動かない

    現在、エクセル2003で作成したVBAがエクセル2007だと、マクロを有効にして起動させようとするとコンパイルエラーとなって動作しない現象が起きていて困っています。 どなたか、解決方法をご教授頂けないでしょうか? ・VBAを含んだファイルを開いて、マクロを有効にすると ”コンパイルエラー:変数が定義されていません” というエラーボックスが出てきてプログラムの矢印のポイントがPrivate Sub User Form_Initialize() のところを指したまま止まってしまう。 ・このVBAはエクセルの表の書かれたデータをRS-232Cで出力するようなプログラムが使われていて、MSCommというものが使われています。この関連のプログラムが2003と2007では互換がないということはありますでしょうか? どうぞ、よろしくお願い致します。

専門家に質問してみよう