• ベストアンサー

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

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

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

  • ベストアンサー
  • april21
  • ベストアンサー率42% (91/216)
回答No.5

>アドインに登録するということは、Personal.xls が不要で、Personal.Xls をPersonal.Xla として保存するということなのでしょうか。 保存形式が変わるだけで内容は同じですから削除するかフォルダを移動。 (ツールバーとかボタンなどに登録してるなら設定解除。) PERSONAL.XLSに作成したサブルーチン(マクロ)がなかった時の環境に戻せば 問題ないと思います。 アドインとして保存する際は内容がわかりやすい名前が良いですよ。 (「ツール」-「アドイン」のダイアログに表示される名前になるので) チェックボックスのオンオフで読み込めるようにすることが出来るので 必要な時にだけオンにすれば無駄なマクロを読み込まないので起動が速いかと思います。

yamamichi
質問者

お礼

 回答ありがとうございます。 アドインを作成しました。  しかし、なんとも奇妙な現象が出ています。  新しいブックを開けて、マクロを使用するとOKなのですが、従来のブックで使用すると マクロが見つからないのか ”#NAME?”とでます。  リンク先の更新をするらしいので、いろいろやってみたのですが、うまくいきません。  従来のブックでは、Personal.Xls とリンクしているんで解除してやるということ だと思ったのです。  また、よろしくお願いいたします。 私の環境は WINDOWS ME で EXCEL は OFFICE XPです。

その他の回答 (5)

  • april21
  • ベストアンサー率42% (91/216)
回答No.6

>新しいブックを開けて、マクロを使用するとOKなのですが、従来のブック >で使用すると マクロが見つからないのか ”#NAME?”とでます。 こちらはEXCEL 2000です。 それにyamamichiさんがどんな方法でマクロの中からアドインを呼び出そうと してそうなったのかも分からないですし・・・。 従来のブックとは何でしょう? アドインを登録すればどのブックでも使用できると思うのですが・・・? No.5のような操作が出来るのでしょうか?(別の操作方法なのでしょうか?) よくわかりませんが・・・。 マクロの記録を開始して作成したアドインにチェックを入れて外して記録終了。 そうすると登録するマクロにコードが記述されてると思います。 AddIns("作成したアドイン").Installed = True '(Excel2000では)  AddIns("作成したアドイン").Installed = False  となります。 上は登録で下が解除ですからこの間に作成したアドインを実行させるコード を記述すれば良いのでは? Excel2000では下記のような感じです。 Application.Run ("作成したアドイン.XLA!マクロ名") XPは使ったことありませんのですみませんがわかりません。 (^^)/~~~

yamamichi
質問者

お礼

回答ありがとうございます。 もう一度、改めて最初からやり直しましたら、うまく言っております。 XPでは、ちょっとトラブルが続いているものですから(2000ではうまくいっているのにというものが)。 何回も回答を頂き、本当に感謝しております。 またの機会によろしくお願いいたします。

  • april21
  • ベストアンサー率42% (91/216)
回答No.4

>もう少し、詳しく教えていただけるとありがたいのです。 ワークシートの「名前を付けて保存」の「ファイルの種類」で 「Microsft Excel アドイン」拡張子xlaで保存。 「ツール」-「アドイン」で該当するアドインにチェックボックスにチェック をいれてアドインを登録。

参考URL:
http://pcgaz.nikkeibp.co.jp/excel/229.shtml
yamamichi
質問者

お礼

 回答ありがとうございます。 「アドイン」にした方が処理が早くなるということですね。 実は、この質問をする前に、「アドイン」登録処理を一度行っています。 ですが、そのとき、個人用マクロブック(Personal.Xls)とPersonal.Xlaという二つのファイルが出来てしまい、どのブックを開いても、この二つが自動的に立ち上がり、ちょっと混乱してしまったのです。  アドインに登録するということは、Personal.xls が不要で、Personal.Xls をPersonal.Xla として保存するということなのでしょうか。  よろしくご教授のほどお願いいたします。

  • april21
  • ベストアンサー率42% (91/216)
回答No.3

アドインにした方が処理が速くなると思いますが・・・?

yamamichi
質問者

お礼

回答ありがとうございます。 ですが、アドインについては、よくわかならないのです。 ヘルプを読んでみましたが、具体的にはどうすればよいのか..... もう少し、詳しく教えていただけるとありがたいのです。 よろしくお願いいたします。

  • april21
  • ベストアンサー率42% (91/216)
回答No.2

出来るはずですが・・・。 コードを間違えてるとかないですか?(スペル等) 手順をもう少し詳しく書かれたほうが回答がつきやすいので?

yamamichi
質問者

お礼

回答ありがとうございます。 遅くなりましたが、やっと方法がわかりました。 内容については i-harada さんへのお礼の中に記述しました これからも何かありましたらよろしくお願いいたします。

  • i-harada
  • ベストアンサー率22% (56/252)
回答No.1

i-haradaです。 間違ってたらすいません。 同じブック内にあるマクロしか利用できないような記憶が有ります。 大分探したのですが、書かれたものが見つかりませんでした。 もう一度調べます。

yamamichi
質問者

お礼

回答ありがとうございます。 遅くなりましたが、やっと方法がわかりました。 参照元のマクロのモジュール名を変更して参照設定を行う。 これが回答でした。 でも、私にはこの意味がすぐに理解できませんでした。 一般にマクロを作成すると、モジュール名がVBAProjectとなっており、これだと参照設定が出来ないので、この名称を変えてやる必要があるということでした。  いろんな方面で探して、やっと見つけました。  遅くなりましたがありがとうございました。  これからも何かありましたらよろしくお願いいたします。

関連するQ&A

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

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

  • 個人用マクロブックの有無

    エクセルVBAで現在ユーザーが使っているパソコンに個人用マクロブックが存在するかどうかを取得する方法を考えました。 まず、開いているBOOKを総当りして、エクセル2003までなら PERSONAL.XLS、2007からは"PERSONAL.XLSM がひらいているかどうかを調べる方法。 Sub test1() Dim wb As Workbook For Each wb In Workbooks If wb.Name Like "PERSONAL.XLS*" Then MsgBox "個人用マクロブックがあります。" Exit Sub End If Next MsgBox "個人用マクロブックはありません。" End Sub 最初から個人用マクロブックがあるものとして変数に入れ、エラーになったら無いと判断する方法。 Sub test2() Dim wb As Workbook Dim v As String v = IIf(Val(Application.Version) > 11, "PERSONAL.XLSM", "PERSONAL.XLS") On Error Resume Next Set wb = Workbooks(v) On Error GoTo 0 MsgBox "個人用マクロブックが" & IIf(wb Is Nothing, "ありません。", "あります。") End Sub でも、自分の端末はまだ2000で、しかも個人用マクロブックがあるので、ちゃんと判定できているのかどうか自信がありません。 これで正しいのでしょうか? また、test1とtest2ではどちらをつかえばいいのでしょうか? あるいは、もっと簡単なやりかたはないのでしょうか?

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

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

  • Excelのマクロ

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

  • Excel2000 個人用マクロブックに保存できない

    お世話になります。Excel2000です。マクロの作成で、個人用マクロブックという選択先がなくなってしまいました。(Personal.xlsがない??)どうすればいいのでしょう?どこにあるのでしょう?

  • エクセルの個人用マクロブック

    「個人用マクロブック」に abc というマクロが登録されています。 コマンドボタンをクリックして abc を実行できるようにしたいのですが。 Sub abc () 処理内容 End Sub Private Sub CommandButton1_Click() Call abc End Sub コマンドボタンをクリックするとエラーになってしまいます。エラー内容は「SubまたはFunctionが定義されていません」です。 VBE画面から直接 abc を実行した場合はエラーになりません。 どこを直せばいいのでしょうか。

  • excel2003 個人用マクロブックが開きません

    Excel2003を使用していますが、マクロを個人用マクロブックへ保存しましたが、次にexcelを起動するときにpersonal.xlsが、自動的に開きません。C:\Documents and Settings\ユーザー名\Application Data\Microsoft\Excel\XLSTARTには、きちんと保存されているのですが・・。

  • 個人用マクロブックが消えました

    エクセルで個人用マクロブックを利用していましたが、今日になって急に、VBEのプロジェクトエクスプローラーに、personal.xlsが表示されなくなってしまいました。 ファイル自体が存在してないようです。削除した覚えはないのですが。復旧は不可能でしょうか? ウィルスチェックは正常でした。こんなふうに突然消えてしまうことは、よくあることなんでしょうか。

  • Excel97、personal.xlsについて

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

  • 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を実行する

専門家に質問してみよう