色の知識で人生の可能性が広がる!みんなに役立つ色彩検定 >>

いつもお世話になっております。
下記のことがしたいのですがどうやって良いのかがわからなくって困っております。

やりたいこと。
AブックとBブックが有るとします。(双方ともエクセルファイル)
エクセルのVBAで、Aブックのシート上のコマンドボタンを押すと
Bブックのシート上のコマンドボタンをクリックするという動きを
VBAでさせたいのですがどうしてもクリックさせることができません。

試したこと。
初めは、AのボタンをクリックするとBのボタンをセレクトして
SendKeysでENTERを送ってみたりしたのですがうまくいきませんでした。

何かやり方が有りましたら、お教えいただけませんでしょう。
宜しくお願いいたします。

教えて!goo グレード

A 回答 (3件)

Privateスコープを変更しない場合、Application.Runメソッドを使う手もあります。


Application.Run "'C:\Book1.xls'!Sheet1.CommandButton1_Click"
※『Sheet1』の部分はシートモジュールのオブジェクト名になります。

ですが、Bブックのボタン_Clickの中味を標準モジュールに置いて、
AブックのボタンとBブックのボタンと、両方から実行できるようにしておくほうが良いような気もしますね。

(コマンドボタンが[フォーム]ボタンの事だったら、同じマクロを[マクロの登録]するだけの話?)
    • good
    • 4
この回答へのお礼

end-uさん、ご回答ありがとうございます。

Application.Run "'C:\Book1.xls'!Sheet1.CommandButton1_Click"で
無事できました!!

>ですが、Bブックのボタン_Clickの中味を標準モジュールに置いて、
>AブックのボタンとBブックのボタンと、両方から実行できるようにしておくほうが良いような気もしますね。
また、上記のご意見を参考に色々考えてみたいと思います。

ありがとうございました。

お礼日時:2008/07/21 14:05

ブックAのボタンが押されたら


ブックBのボタンのコードが実行されるように
しておく。というのはダメなのかな?
記述的にはブックやシートの指定が面倒かも知れませんが
    • good
    • 0
この回答へのお礼

pofstarさん、ご回答ありがとうございます。

>ブックAのボタンが押されたら
>ブックBのボタンのコードが実行されるように
>しておく。というのはダメなのかな?
できる限り、ブックAではブックBを実行させるだけ
のソースにしたいと思っております。

しかし、pofstarさんのご意見も参考にして、
色々考えてみたいと思います。
ありがとうございました。

お礼日時:2008/07/21 14:01

Book1のSheet1にコマンドボタン(CommandButton1)を作成


Private Sub CommandButton1_Click()
Msgbox "OK"
End Sub
ファイルをC:\Book1.xlsとして保存

Book2のSheet1にコマンドボタン(CommandButton1)を作成
Private Sub CommandButton1_Click()
Call Workbooks.Open("C:\Book1.xls").Sheets("Sheet1").CommandButton1_Click
End Sub

この状態でBook1のボタンをクリックすると"OK"のメッセージボックスが表示されますが、
Book2のボタンをクリックすると「オブジェクトは、このプロパティまたはメソッドをさぽーとしていません。」というエラーが発生します。
この状態を回避するために、Book1の
Private Sub CommandButton1_Click()

Public Sub CommandButton1_Click()
と変更して保存します。
これでBook2のコードから、Book1のCommandButton1_Clickというモジュールを実行できます。
    • good
    • 1
この回答へのお礼

Masa2072さん、ご回答ありがとうございます。

早速試してみました!!
Sheets("Sheet1").CommandButton1_Clickは以前挑戦して
駄目だったのですが、Publicにするだけで実行できるのでね。
勉強になりました!!

ありがとうございました。

お礼日時:2008/07/21 13:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング