• 締切済み

excel マクロの有効ブックの特定

excelにvbaでマクロを入れているのですが、マクロの有効なファイルをそのマクロを登録しているファイルのみにするにはどうしたらいいのでしょうか。要するにそのファイルのみでマクロを実行できるようにする場合です。 因みに、マクロを登録しているのまexcel2003タイプです。

みんなの回答

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

マクロの構文内で、アクティブファイルの名称を確認して、自身のファイル名と違うならEXITするようにすればいいのでは? 自分自身のファイル名を変数に保存する http://www.happy2-island.com/excelsmile/smile03/capter00201.shtml

fuji_souce
質問者

お礼

返事遅くなり申し訳ありません。 マクロの保存先のそのブックのみでの有効ははできないのですね。 マクロの中で制御するようにしました。 ありがとうございました。

関連するQ&A

  • 特定のブックでのみマクロを実行したい

    エクセル2000で、簡単な操作を実行するマクロをいくつか作りました。 そのマクロを特定のファイルのみで実行できるようにしたいです。 どうすればいいでしょうか?

  • Excelマクロで同じブックにCSVを読み込むには

    Excelの指定したシートにCSVファイルを読み込ませたいのですが 以下のVBAマクロを実行すると新しいブックが起動して 新しいブックの方にCSVファイルが読み込まれてしまうのですが これをVBAマクロを実行しているブックの指定のシート(例えばSheet3など)に 読み込ませたいのですがどのように記述すればよいのでしょうか。 よろしくお願いします(Excel2010) Sub Macro1()  ChDir "C:\test"  Workbooks.Open Filename:= "test1.csv" End Sub

  • 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)マクロ起動する方法。

  • ブックを開くマクロ

    データ管理というファイルの中にある データー(1)のファイルの中の データ表(1)というエクセルbookのあるマクロを実行すると 同じくデータ管理というファイルの中にある データー(2)のファイルの中の データ表(2)というbookを開き そのbookのsheet1のA1:B5をコピーして データ表(1)エクセルbookのsheet1のA1:B5に貼り付ける・・・ というVBAを組む事は出来ますでしょうか? 分かりにくくてすいません

  • 他ブックのマクロの実行

    エクセル VBAにて ブック1のマクロからブック2のマクロを実行するにはどうすればよいですか?

  • エクセルXPと2000でのマクロ

    初歩的な質問になりますがご存知の方は是非教えて下さいm(__)m EXCELXPでリストから並び替えのマクロを記録させてフォームボタンに登録したのですがそのマクロをEXCEL2000で開いて実行しようとすると「コンパイルエラー/プログラムまたはライブラリィがありません」とでて実行できません。 ボタンでなくメニューバーからマクロを実行すると実行できます。 番号の振り直しのマクロもフォームボタンからは上記同様できません。 でも●●シートへ戻るとか振り仮名を表示するとか非表示にするとかはフォームボタンからでも実行できます。 EXCEL2000で同じ操作のマクロを作ってフォームボタンに新たに登録しなおすとボタンからの実行が出来るようになりました。 VBA画面でみるとエラーの箇所に「DataOption1:=xlSortNormal」とでていて(こちらはEXCELXPで作ったマクロ)EXCEL2000で作ったマクロと比べると「Orientation:=xlTopToBottom」と出ていて違うみたいだなぁと・・・。 でも基本的にVBA画面はあまり分からないので、なんでボタンから操作するとエラーが出たのか分かりません。理由が分からないので修正もできません。(┰_┰) 2000とXPと両方で開くことが多いのでどちらでも実行できるような状態にしておきたいのですがどうしたらいいのでしょう?何故こんなエラーがでてしまうのでしょう?対策はどうしたらいいのでしょう? どうかご存知の方、宜しくお願いしますm(__)m 因みにEXCEL2000のPCのOSは98でEXCELXPのPCのOSはXPです。

  • Excel マクロ無効化

    Micorsoft Excelで、VBAで以下のように指定のExcelファイルのマクロを無効化したいのですが、やりかたを調べてもよくわかりません。できないのでしょうか?アドバイスいただけると幸いです。 具体的にやりたいこと (1)マクロ有効にしたExcelファイルのVBAから他のExcelファイルをマクロ無効で開く (2)マクロ有効にしたExcelファイルのVBAで、開いているExcelファイルのマクロを無効に設定する。(有効だったものを無効にする)

  • VBSでEXCELのXLSTARTにあるマクロを実行するには

    VBSを実行したときに既にEXCELを開いている場合にはFor Each wb In Workbooksを使ってXLSTARTフォルダにあるファイルのVBAマクロを実行できます。しかし、EXCELを開いていない場合にはCreateObject("Excel.Application")でEXCELを開いてもXLSTARTフォルダにあるファイルそのものが見つかりません。VBSを使わず、プログラムファイルからEXCELを開く場合にはXLSTARTフォルダにあるファイルも問題もなく開きます。どうすればEXCELを開いていない場合でもVBSでEXCELのXLSTARTにあるマクロを実行できるでしょうか? 因みにXLSTARTのフォルダパスは不特定多数の環境(OSはWindows95-XP、EXCELは97-2007の組合せ)で特定されていないものとします。さらにツール、オプションの全般タブの「起動時に全てのファイルを開くフォルダ」にはXLSTARTが指定されているものとします。

  • AccessからExcelマクロを実行したい

    Accessから既存のExcelファイルを開き、そのファイル内にある マクロを自動実行させたいと思っています。 Set obj = CreateObject("Excel.Application") obj.Visible = True Set Myobj = obj: Workbooks.Open ("エクセルファイル名(フルパス)") Myobj.Run マクロ名 と書いているのですが、Excelファイルを開くところまでしか動いてくれません。 マクロ名の書き方が悪いのかもしれませんが、VBAに不慣れなため どう直せばよいのかわかりません。 どうかよろしくお願いします。 ちなみに環境はWindows2000、Office2000です。

  • Excel 2007 マクロは、即、そのまま使用はできないのですか?

    Excel 2007 マクロは、即、そのまま使用はできないのですか? Excel 2007を初めて使用して、Excel 2002のファイルを開きましたが、 マクロは、即、そのまま使用はできないのでしょうか? ざっと、基本的なセキュリティ設定はしたつもりですが。 1、Excel 2002の「ユーザー設定画面」で作ったツールバーが   Excel 2007のVBA画面の「ユーザー設定画面」には全く見当たりませんが、   下記フォルダのExcel12にExcel10を上書きしてしまえばよいでしょうか?  C:\Documents and Settings\Owner\Application Data\Microsoft\Excel 2、アドインをクリックした画面に現在「Excel 2002で自作したツールバー」が数個表示されますが、  ・即、マクロ実行できるものと、  ・再度、マクロの登録をしないといけないもの(マクロ実行不可のもの)、  がありますが、再度、マクロの登録をしないといけませんか? 何卒、ご教示のほどをお願い致します。

専門家に質問してみよう