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

このQ&Aのポイント
  • VB6.0で電圧計や電流計を制御し、エクセルにデータを送ってグラフを作成する際に、エクセルのマクロが使えない問題について詳しく教えてください。
  • VBから起動したエクセルではマクロが使えない理由を教えてください。
  • エクセルのマクロを使用する際に注意すべき点や解決策について教えてください。
回答を見る
  • ベストアンサー

エクセルのマクロ

こんにちは。 今悩んでいます。 VB6.0で、電圧計、電流計を制御して、VBからエクセルを起動、その値をVBでエクセルにデータを送り、グラフを作るのですが。 グラフを作る作業が、同じ作業なので、エクセルのマクロを使い、グラフを作成しようとしていたのですが・・・。 どのエクセルのファイルからでもできるように、個人用のマクロブックで、グラフを作成したのですが、VBからエクセルを起動し、データの転送して、グラフをマクロで作成しようと思ったら、マクロがないんです。 しかし、デスクトップにあるエクセルのショートカットから起動してみると、マクロがあるのです。 VBから起動したエクセルでは、マクロは使えないんでしょうか? 詳しい方よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

VBからExcelマクロを実行するには application.Run(ブック名!マクロ名) を使います。 Set objXL = New Excel.Application objXL.Run "Book1.xls!MyMacro" あるいは Set objBook = objXL.Workbooks.Open("Book1.xls") objXL.Run "MyMacro" のように。 が、Excel2000で試した限りでは個人用マクロブック(Personal.xls)のマクロは実行できませんでした…。別な場所に移してやればPersonal.xlsもただのブックなので上記のやり方でマクロを実行できます。 もっといい方法があるかもしれませんが(^^;

en-sato
質問者

お礼

ありがとうございました。 FlossenEngelさんのように、どこかに移してからなら 出来ました。 あと、なぜか知らないけど、エクセルの画面を保存して、一度消してからならなぜか出来ました。 ありがとうございました。

関連するQ&A

  • エクセル マクロ個人用マクロブックについて。

    エクセルのマクロでの個人用マクロブックでの保存がうまくできません。 表題の件で質問させてください。1台のPCにマクロを数項目登録して色々なエクセルで運用したいんですが 個人用マクロブックで登録するとマクロ作成済みのエクセルを開かなくても良いと知恵袋に見ましたので個人用マクロブックに 名前を入力してマクロ登録致しました。 実際3個作ったはずですがいちばん最初に作ったマクロしか選ぶことができません。どうしたらいいでしょうか? まれに全てのエクセルを閉じて再起動したりすると時たま他のマクロがある時もありますが5個に1回位です。 色々とマクロ作成して作業したいのですが作成したマクロが出てこないで困っています。 対処の仕方ご教授ください。 宜しくお願い致します。

  • エクセルのマクロからアクセスのマクロ実行命令を出せますか?

    教えてください。 一連の作業をアクセスのマクロとエクセルのマクロを使って作業を完成させました。 まず最初にエクセルのブックを起動し、マクロを実行し作業をさせ、その後にアクセスを起動させ、マクロを実行し、作業ファイルをエキスポートさせ、またエクセルに戻り、エクセルマクロを実行させて作業を関せさせたいと思います。 そこで、エクセルのマクロでアクセスを起動させ、アクセスのマクロを実行させるようなことはできるのでしょうか? よろしくお願いします。

  • EXCELのマクロにて

    下のようなデータベースがあります。 No  値1  値2 10   3   2 8   2   4 6   2    6  3   5   3 8   7   5 このようなデータベースからピボットグラフを作成しているんですが、データベースに上端でフィルターをかけNo列にて特定の値を選んだときにそれに対してピボットグラフもフィルターで選んだNoになるようなマクロは組めませんか? ちなみにピボットグラフにはページにNoを、データに値1・値2の合計を表示させています。 マクロに変数(?)を設定すると出来るらしいのですが記述がわからないのです。

  • Excel 2007: マクロブックをXLSTARTに入れると挙動がおかしくなる?

    いつもお世話になります。 マクロの配布を容易にするため、ブックにマクロを添付して、  C:\Documents and Settings\ユーザー名\   Application Data\Microsoft\Excel\XLSTART に置いてください、と言おうと思っているんですが、これに関連して以下のようなことが起きます。 (1)個人用マクロブックを作るとExcelが一発で閉じなくなる Excelでマクロを作って、個人用マクロブックに保存すると、以下のブックができる。  C:\Documents and Settings\ユーザー名\   Application Data\Microsoft\Excel\XLSTART\PERSONAL.XLSB このファイルができると、以下のように挙動が変わる。 1) 適当なブックをダブルクリックすると、Excelが起動し、そのブックが開く。 2) ウィンドウ右上端の[X]ボタンをクリックしてExcelを閉じようとすると、ブックだけが閉じて、Excelは終了しない<=ここが問題 3) もう1回[X]ボタンをクリックすると、Excelは終了する (2)任意のマクロ付きブックをXLSTARTに入れると、新規文書が開かなくなる Excelでマクロを作って、任意のブックに保存する。 Excel 2007で使う人と、2003で使う人がいるので、xlsで保存する。 ブックを非表示にして、XLSTARTディレクトリに入れると、個人用マクロブック同様にExcel起動時に開かれるので、マクロが使える。 こうすると、上の(1)の現象に加えて、さらに、以下の現象が発生する。 1) Excelを起動すると、通常は白紙の新規ブックが作成されるが、なぜか作成されず、Excelのみが起動される。 以上です。 任意のマクロブックをXLSTARTに入れながら、起動時に白紙のブックが開き、[X]クリックでExcelが一発で終了する方法はあるでしょうか。 よろしくお願いいたします。

  • マクロを組み込んだExcelファイルが読み取り専用になってしまう

    Excel(2003)のブックにマクロを組み込んでいるのですが、 ファイルを何度か起動したり閉じているうちに、読み取り専用になってしまいます。 どうしたら回避できるでしょうか。教えてください。 実装しているマクロの中身は下記のようなものです。   ・列や行の表示/非表示の制御   ・シート遷移   ・データの集計   ・シートの保護/解除 

  • EXCELのマクロにて

    下のようなデータベースがあります。 No  値1  値2 10   3   2 8   2   4 6   2    6  3   5   3 8   7   5 このようなデータベースからピボットグラフを作成しているんですが、データベースに上端でフィルターをかけNo列にて特定の値を選んだときにそれに対してピボットグラフもフィルターで選んだNoになるようなマクロは組めませんか? ちなみにピボットグラフにはページにNoを、データに値1・値2の合計を表示させています。

  • EXCELのマクロにて

    下のようなデータベースがあります。 No  値1  値2 10   3   2 8   2   4 6   2    6  3   5   3 8   7   5 このようなデータベースからピボットグラフを作成しているんですが、データベースに上端でフィルターをかけNo列にて特定の値を選んだときにそれに対してピボットグラフもフィルターで選んだNoになるようなマクロは組めませんか? ちなみにピボットグラフにはページにNoを、データに値1・値2の合計を表示させています。 よろしくお願いします。

  • VB6からEXCELマクロの終了を判断する方法を教えてください。

    VB6からEXCELマクロの終了を判断する方法を教えてください。 VB6とEXCEL(VBAも含む)を使って次のような流れの処理を行うソフトを作っています。 そこでどうしてもEXCELマクロの終了をVB6から判断する必要があり、方法を教えて頂けないでしょうか。 1)VB6でEXCELファイルを起動 2)VB6からセルA1に10,A2に20を代入 3)VB6からEXCELファイル内のマクロをコール 4)マクロはA1+A2の計算を行いA3に代入(30) 5)VB6からA3の値を読み込む (実際にはマクロは複雑な処理をします。) 1)~5)の処理を5000回程度行います。 VB6から送られるデータは毎回変わり、EXCELとマクロで計算させたデータを回収してテキストファイルに書き出します。 一通りのプログラムは完成したのですが、計算したデータを見ると10+20が1.99999とか15.51414とかおかしい結果になっています。 もしかしたらマクロの実行が終わっていない段階でVB6がデータを拾ってしまっている??と考え、マクロの終了をVB6で判断してからデータを回収するようにしたいと思っています。 何か方法はないでしょうか。(または他に間違っているところがあるのでしょうか。) 長文ですみません。よろしくご教示ねがいます。

  • Excel>マクロを使っていないはずなのにマクロを有効にするかどうか聞かれてしまう

    こんにちはtmgmです。 Excelについての質問です。Excelのブックを開くとマクロが有効かどうか毎度聞いてきます。作業としては次のような手順を踏みました。 ------------------------- (1)Book1.xlsにマクロを作成し、保存して閉じる (2)再度Book1.xlsを開き、マクロが不要になったので、コード編集画面を開き、モジュールの解放後、保存(マクロが割り当てられていたボタンも消去) (3)改めてBook1.xlsを開くと、「マクロを有効にするかどうか聞いてくる」(メッセージからも判るとおりセキュリティは中にしています。) ------------------------- 毎回マクロが有効かきかれなくするにはどうすればよろしいでしょうか?モジュールの解放だけではだめでしょうか?お分かりになる方、ご返答宜しく御願いします。

  • エクセル2010で作成したマクロ

    エクセル2010で作成したマクロブックがあります。 このエクセルを知人にメールで送りました。 知人のエクセルは2007です。 マクロブックのフォームボタンを押しても何も動作しない状況との事です。 エクセル2010で作成したマクロブックはエクセル2007と互換性がないのでしょうか? 素人の質問で申し訳ありませんが、ご指導お願いいたします。

専門家に質問してみよう