• ベストアンサー

EXCELのマクロの有効範囲について

(1)EXCEL2000にてブックが2つあって、それぞれに個人用マクロブックがある場合、お互いの個人用マクロブックのマクロの実行するにはどのようにマクロの記述をすればいいですか? BOOK1 マクロA1、A2、・・・、A5 BOOK2 マクロB1、B2、・・・、B5 のとき マクロA1の中でマクロB2を実行する (2)EXCEL2000にてブックが1つあって、個人用マクロブックとPERSONAL.XLSがある場合、PERSONAL.XLSの中で個人用マクロブックのマクロの実行するにはどのようにマクロの記述をすればいいですか? PERSONAL.XLS マクロA1、A2、・・・、A5 BOOK1     マクロB1、B2、・・・、B5 のとき マクロA1の中でマクロB2を実行する

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

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

下記のようなことでどうでしょうか? Application.Run "'D:\ExcelBook\教えて.xls'!マクロB2" 普通、個人用マクロブックと言えばPERSONAL.XLSのことです。 QAZ123さんが言われる「個人用マクロブック」とはブック名のことでしょうね。

QAZ123
質問者

お礼

作業中のブックを個人用マクロブックと間違えてたようです。 意図を読み取ってくれてどうもありがとう。 Application.Run で目的を達成できました。

その他の回答 (1)

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

こんにちは。 まず、個人用マクロブック(PERSONAL.XLS)というのは、以下にあるファイルのことだと思います。 C:\Documents and Settings\[User Name]\Application Data\Microsoft\Excel\XLSTART\ >それぞれに個人用マクロブックがある場合、お互いの個人用マクロブックのマクロの実行するにはどのようにマクロの記述をすればいいですか? 普通は、個人用マクロブック(PERSONAL.XLS)は、それぞれのユーザー[UserName]に対してひとつです。二つあれば、起動時には読み込みます。他人のPERSONAL.XLS は共有はしません。また、Program Files 側のXSTART に置く、PERSONAL.XLS がありますが、Program Files 側に置くのはお勧めしません。そのコードは、貰って、それぞれのモジュールに書いてください。 >個人用マクロブックとPERSONAL.XLSがある場合 用語が混乱しています。個人用マクロブックのことを、PERSONAL.XLS と呼びます。しかし、別のブック(例:PERSONAL2.XLS)を上記フォルダに入れることは可能ですが、いずれはトラブルはあると思ってください。 PERSONAL.XLS や個別のブックのマクロは、同じProject のモジュールにマクロを置くか、最初から、ブックに付けるアドインを作ってしてしまうか、どちらかだと思います。 「マクロA1の中で、[別のブックの]マクロB2を実行する 」は、ふつうは、通常、他のブックのマクロを呼び出す場合は、Application.Run を使用します。ただし、呼び出されるマクロというのは、プロテクトが入った特殊なマクロが多いのです。通常は、モジュールひとつに、コードを書きます。 そうでない場合は、別のブックを参照設定しますが、参照設定側は、通常は、非表示ブックにします。Excelの場合のPERSONAL.XLS のマクロは、グローバルなものを置くので、個々のブックに適用する場合は、PERSONAL.XLS には書かないというのが、マクロの常識的なルールだと思います。 こういうことは、もう少し、基本的なところから始めないといけないかもしれませんね。いきなり、個々のハウツーでやっても、うまく行かないような気がします。Excel VBAというのは、基本的には、個別のコードになり、他のブックのコードは利用しないのが一般です。アドインという方法もあるのですが、あまり多くありません。

QAZ123
質問者

お礼

作業中のブックを個人用マクロブックと間違えてたようです。 Application.Run で目的を達成できました

関連するQ&A

  • Excelのマクロ

    よろしく御願い致します Excel2007でマクロを作り「個人用マクロ」PERSONAL.XLSBに登録しましたそこで質問ですが、Excel起動のたび、前には作成した名前で開いていましたが、今は必ずPERSONAL.XLSBの画面が開きその後でファイル名で開きますがマクロをPERSONAL.XLSBに保存するとこう言うものでしょうか。 出来れば、マクロを使いたい時のみPERSONAL.XLSBで開きたいのです それと、オーズEX_12 オーズカレンダー.xlsと言うソフトを使いたいのでオーズカレンダー.xlsを開くと {このアプリケーションと他のExcelブックを 同時に使用することは出来ません。 他のブックを全て閉じてからもう一度起動してください} と表示されて、OKをクリックしても使用出来ませんが何か関係が有るでしょうか。

  • マクロの記録ができません

     こんにちは、教えてください。マクロを作ろうとしているのですがうまくいきません。ヴァージョンは「2002」です。  「マクロの保存先」で「個人用マクロブック」を選び実行しようとしたら「起動フォルダにある個人用マクロブックは記録のために開かれた状態でなければなりません」>「記録できません」というエラーが出て実行できませんでした。  過去にも似た質問があったので読んでみると、個人用マクロブックは「XLSTART」というフォルダの中に「PERSONAL.XLS」というファイル名で認識されているとのこと。確かに「XLSTART」というフォルダはあるのですが中は空でした。場所は、「ドライブ名:\Program Files\Microsoft Office\Office10\XLSTART」です(ドライブ名:\Documents and Settings\ユーザー名\Application Data\Microsoft\Excel\XLSTARTではありませんでした)。  そこで新しいブックを立ち上げて「PERSONAL.XLS」という名前で「XLSTART」フォルダに保存してみました。すると、新しいブックを立ち上げようとすると、通常は「Book1」という名前のブックができるのに、自動的に「PERSONAL.XLS」が立ち上がるようになってしまいました。  この状態でマクロの記録をしてみたら、一応記録はできますし動きます。  ところが、このマクロを編集しようとVBEを起動しても、Moduleが出て来ません。「VBAProject(PERSONAL.XLS)」と表示されるべき場所には「Sheet1」とあります。  そこで「XLSTART」フォルダの中の「PERSONAL.XLS」を削除してみたところ、以前と同じように新しいブックは「Book1」という名前に戻りました。ただし、マクロの記録はできません。  ちょっと混乱気味ですが、やりたいことは以下の3点です。 1.個人用マクロブックにマクロが記録できるようにしたい。 2.VBEで作ったマクロを編集したい。 3.新しいブックは「Book1」で立ち上がるようにしたい。  どうしたらいいのでしょうか。ご回答いただければ幸いです。

  • Excel2003 個人用マクロブックがなくなりました

    Excel2003を使用しています。 個人用マクロブックにいくつかマクロが登録してあります。あるとき急に、Excelを起動してもPersonal.xlsが立ち上がらなくなりました。そこで、保存先と思われるApplicationData\\Microsoft\\Excel\\XLSTART\\ の中を確認したのですが、Personal.xlsが見当たりません。個人用マクロブックはなくなってしまったのでしょうか?復活できる方法はありませんでしょうか?

  • エクセルのマクロで」・・・

    マクロの超初心者です。 1度研修で習った程度です。 a.xlsというブックでマクロを動かし、 既にいくつかシートがあるb.xlsを開いて最後のシートの次に新しいシートを作り、 既にあるc.xlsの1つ目のシートにあるデータをb.xlsの新しく作ったシート に貼り付け、b.xlsとc.xlsのブックは閉じるようにすることはできますか?(b.xls,c.xlsは最初閉じている) どのような感じにa.xlsでマクロを組めばよいのでしょうか? 今起動しているブックではないブックを起動したりできるのかも不明です。

  • エクセル マクロを保存させる場所について

    最近マクロの基本中の基本を勉強し始めた者です。 あるフォルダの中にある100個近くあるエクセルのファイルすべてに同じような作業をしたいので 100個あるファイルの内の1個を使ってマクロを組みました。 その際、マクロの保存先は「PERSONAL.XLS」を選びました。 残りの99個のファイルは、組んだマクロを使って簡単に作業を終わらせることができたのですが それ以来、全く無関係なエクセルを起動させても 「PERSONAL.XLS」というシートが立ち上がってきてしまうようになってしまいました。 保存先を「PERSONAL.XLS」にしたのがやはり原因なのでしょうか? もしそうなら、保存先は「開いているすべてのブック」「作業中のブック」どちらに変更すればよいでしょうか? 長文で失礼いたしました。

  • Excelで個人用マクロブックを使用したいのですが...

    Excelでマクロを作り、個人用マクロブックに登録したのですが、このマクロを他のブックから使用すると Sub または Functionが定義されていない とエラーになります。  なにか勘違いをしているような気がするのですが、どなたか私にアドバイスをしてください。  あるブックで、マクロを作成し、そのマクロの中で、PERSONAL.XLSに作成した サブルーチン(マクロ)を使用したいのです。  こういう使い方は、初めてのような気がしますが、できると思っているのです。 ACCESSのVBAとは違うのでしょうか。

  • Excel97、personal.xlsについて

    Excel97VBAの勉強をしていたのですが、いつのまにかエクセルを立ち上げるとpersonal.xlsのブックだけが出るようになりました。新規作成で普通に3枚のシートがあるブックは立ち上がるのですが、いちいちpersonal.xlsを閉じなければならないのでしょうか?マクロの保存先を個人用ブックにしてVBエディタの中で修正をしたりしていたのですが、それと関係あるのでしょうか?personal.xlsを閉じてもメニューの再表示は使えなくなっています。元の設定に戻すにはどうしたら良いのでしょうか?

  • EXCEL 個人用マクロブックが起動しなくなりました

    EXCEL2002を使用していますが、個人用マクロブックが起動しなくなりました。 同様の質問がありましたので、回答を参考にマクロセキュリティレベルを確認し、一度Personal.xls ファイルを削除して再度個人用マクロブック作成していみましたがだめでした。 手動で個人用マクロブックを起動してマクロを実行してもエラーはでないのですが、正しく動作しません。 EXCEL2002を再インストールしてもだめだったので、EXCEL2002をアンインストール後一度EXCEL2000をインストールすると個人用マクロブックか起動するようになったので、再度EXCEL2002をインストールしてみるとまた個人用マクロブックは起動しなくなってしましました。 仕事上よく使用するアイコン等が使えなくて困っています。 よい対処方法がありましたら、ぜひ教えてください。 よろしくお願い致します。

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

    お世話になります。エクセル2007のマクロについてですが、「A」というBOOKがありその中の任意のセルをクリックするとハイパーリンクで「B」というBOOKが開くようになっています。 ここで「B」が開いた時点で自動的に「A」を保存しないで終了させたいのですが、マクロの組み方がわかりません。 Sub Sample1() Workbooks("BookA.xlsx").Close End Sub と記述するとBook Aが閉じるのは調べてわかったのですが、ハイパーリンクでBが開いた時点でこのマクロを動かすようにするにはどうしたらいいのでしょうか?何か別の方法があるのでしょうか? 宜しくお願いします。

  • EXCEL VBAのPERSONAL.XLSについて

    エクセルの個人用マクロブック(PERSONAL. XLS)はサーバー内に置くことはできるんでしょうか?

専門家に質問してみよう