• ベストアンサー

エクセルVBAのCall

エクセルのデザインモードでシートにコマンドボタンを貼り付けて、個人用マクロブック内のマクロを起動する設定をしたいのですが。 Callでマクロを指定する時に、単にマクロ名だけを指定するとマクロが呼び出されないのですが。 個人用マクロの場合は、フルパスみたいな感じで指定する必要があるのでしょうか? その場合どのような指定の仕方になるのでしょうか?

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

  • ベストアンサー
  • taocat
  • ベストアンサー率61% (191/310)
回答No.2

こんにちは。 Personal.xlsにある、TEST を実行するとき Application.Run "Personal.xls!TEST" としてみてください。 それから他のブックにある場合はそのブック名をつける 以上です。

naruue
質問者

お礼

回答ありがとうございます。 解決しました。

その他の回答 (2)

  • ttyp03
  • ベストアンサー率28% (277/960)
回答No.3

#1です。 ボタンって2種類ありまして、[コントロールツールボックス] のと [フォーム] のがあります。 先程回答したボタンは [フォーム] が前提で書いていました。 一度そちらでお試しください。 [コントロールツールボックス] のボタンでは確かに [マクロの登録] は出ませんね。 ちょっと試してみましたが、どうもperlnal.xlsのマクロが呼び出せませんでした。 やり方がありそうな感じはしますが、わかりませんでした。申し訳ない。

naruue
質問者

お礼

回答ありがとうございます。 >先程回答したボタンは [フォーム] が前提で書いていました。 そういうものがあるのは知りませんでした。 今度試してみたいと思います。

  • ttyp03
  • ベストアンサー率28% (277/960)
回答No.1

「Callでマクロを指定する」というのがよくわかりませんが、ボタン上で右クリックし [マクロの登録] を選択し、あとは呼び出したいマクロを選択すればできませんか? ちなみに個人用ですと PERSONAL.XLS!xxxxx のような記述になるようです。

naruue
質問者

お礼

回答ありがとうございます。 >ボタン上で右クリックし [マクロの登録] を選択し これはデザインモードで行うのでしょうか? エクセル2003ですが、右クリックしたポップアップメニューの中に、[マクロの登録]というのは表示されないのですが。 >PERSONAL.XLS!xxxxx のような記述 "Call"の記述は必要ないということでしょうか?

関連するQ&A

  • エクセルのVBAで新しくブックを開いた上でさらに…

    エクセルのVBAで新しくブックを開いた上でそのブックにVBAを埋め込む事はできますか? 分かりにくいと思うので具体的にかきます。 今、ブック1にコマンドボタンAがあり、このボタンAを押す事により 以下の2つを実現したいです。 (1)あたらしくブック2を開きます。 (2)更にこのブック2のシートにはコマンドボタンBができており (3)このボタンBの機能としてこのボタンBを押すと  ブック2のセルA1に数字1が入ります ブック2が開いた後で自分で、コマンドボタンBのマクロをブック2のモジュール内に書くのは簡単ですが、ブック1のコマンドボタンAを押したときに自動的にブック2のマクロを書き込みたいのです。 今、ボタンAを押すことで(1)と(2)まではできるのですが (3)のやり方がわかりません。 そもそもこういった事はできないのでしょうか? ご存知の人がいたら教えてください。よろしくお願いします。

  • VBAでエクセルからエクセルのファイルを開くには?

    D:\に db1.mdb Book1.xls があります。 db1.mdbのフォームのコマンドボタンをクリックして Book1.xlsを開きたいのですが VBAコードをご教授いただけますか? (マクロではなくVBAコードが知りたいです) エクセルからエクセルのファイルを開くなら Workbooks.Open ファイルのフルパス で出来ました。 ご回答よろしくお願いします。

  • エクセルブックが開けなくなった。

    エクセルブックが開けなくなった。 添付のようなメッセージが出た後、立ち上がったと思ったら消えてしまいます。 シートは10枚位ありコマンドボタンでマクロを起動させています。 昨日まで何の異常もなく動いていましたが、今朝からおかしくなってしまいました。どうすれば回復するかのご教示を頂ければ有難いです。

  • エクセルのVBAのことで

    コマンドボタンで「Macro1」というマクロを実行させるVBAは以下だと思いますが。 Private Sub CommandButton1_Click() Call Macro1 End Sub 上記に、Sheet1・Sheet2・Sheet3に対して実行するということを加えると、どんなふうになるでしょうか。

  • EXCEL VBA シートの名前を指定してコピー

    EXCEL VBA 初心者です。 とても困っています。 助けてください。 excel2010を使っています。 今,「原本」というシートがあり,それをマクロを使って同じブック内にコピーしたいと思っています。 コピーして新しく作られたシートの名前は「A1」のセルに入力されている値にしたいです。 コピーされた後のシートにはマクロボタンは削除したいと考えています。 また,コピーした後のアクティブシートは「原本」のシートにしたいのですが これを全部いれたコマンドはどのようになるのでしょうか。 似たような質問だったり,回答があるのですが, どのように組み合わせたらいいのかよく分かりません。 どなたかお助けいただけないでしょうか。 よろしくお願いします。

  • VBA(エクセル)で自動的にボタンをクリックさせるには

    いつもお世話になっております。 下記のことがしたいのですがどうやって良いのかがわからなくって困っております。 やりたいこと。 AブックとBブックが有るとします。(双方ともエクセルファイル) エクセルのVBAで、Aブックのシート上のコマンドボタンを押すと Bブックのシート上のコマンドボタンをクリックするという動きを VBAでさせたいのですがどうしてもクリックさせることができません。 試したこと。 初めは、AのボタンをクリックするとBのボタンをセレクトして SendKeysでENTERを送ってみたりしたのですがうまくいきませんでした。 何かやり方が有りましたら、お教えいただけませんでしょう。 宜しくお願いいたします。

  • エクセル VBA

    エクセル VBA コマンドボタン(印刷)をクリックするとSHeet1・SHeet2が 2つ印刷出来るような設定にしたいです。 普通は、SHeet1をコピーして Sheet2の画面を開いてコピーという手順を ボタン押すと、SHeet1・SHeet2が印刷されるようにしたいのですが・・・・ ちなみに印刷設定は出来ています。 このような ことはマクロで出来るのでしょうか? 記述を教えて下さい!

  • エクセルVBA 非表示シートがあるとエラー

    VBA初心者です。 エクセル2007を使用しております。 同一ブック内にある全てのシートで特定のマクロ(下記の例では×××)を実行するようにVBAマクロを個人用マクロブック上に作成しております。 Sub シート一括処理() Dim Sht As Worksheet For Each Sht In Worksheets Sht.Select Call ××× Next Sht End Sub ブック内に非表示シートがあった場合、エラーとなります。 ===================== 実行時エラー'1004' 'select'メソッドは失敗しました: ===================== 下記のような要件を満たすにはどのように修正すればよいでしょうか。 ・非表示シートに対しても、×××マクロは適応したい。 ・非表示シートは暫定的に表示してもよいが、最終的には非表示の状態にしたい。 よろしくお願いします。

  • エクセルVBAについて

    今、エクセルVBAでマクロの作成を行っています マクロの中で、作業用に別なエクセルとシートを作成したのですが マクロの最後でその作業用のエクセルとシートを削除する用にしました。 その際に、エクセルがメッセージボックスが開き 『このエクセルブックを閉じますか』や『このシートを削除してよろしいですか』などと聞いてきます。 このボックスを出さないように強制的に消すことは出来ないのでしょうか? 出来るのであれば、やり方を教えてください。

  • エクセルについて

    質問させて頂きます。 エクセルで、マクロの保存先を個人用マクロブックに指定すると、以下のようなメッセージが出ます。 ”起動フォルダにある個人用マクロブックは記録のために開かれた状態でなければなりません” 良い解決方法があればご教授下さい。 よろしくお願い致します。

専門家に質問してみよう