プロが教える店舗&オフィスのセキュリティ対策術

初歩的な質問ですがエクセルVBAの操作方法についてお尋ねします。
コントロールの編集とマクロの設定についてお尋ねします。
エクセルをたちあげ、シート1が表示されている状態にします。
次に、表示→ツールバー→コントロールボックスを表示し、コントロールボックスより
シート上にコマンドボタンを配置します、CommandButton1が配置されたらこのボタンをダブルクリックするとVsualBasicEditerが立ち上がります。
プロジェクトエクスプローラーが表示され、シート1が選択されていることが確認できます。
ここで簡単なプログラムを書きます。
Sub CommandButton1_Click ()
UserForm1.Show
End Sub
更に、挿入メニューよりユーザーフォームを挿入します。
この状態で、VsualBasicEditer上で 実行→Sub/ユーザーフォームの実行をクリックします。
プログラムが実行されUserAForm1が表示されます。
ここでUserForm1の閉じるボタンでUserForm1を閉じます。
一度プログラムを走らせると、
1:シート1に配置したコマンドボタンをクリックするとプログラムが動作する。
  マクロの設定はしていないのに!
2:コマンドボタンの編集が出来なくなる。但し、新規にもう一個ボタンを配置すると
  前のボタンの編集が出来るようになると同時にCommandButton1をクリックしても
プログラムは走らない。

上記1、2の現象が起こります。
 1について:ボタンにマクロの設定がしてないのに何故プログラムが走るのか?
  このようなやり方でマクロの設定を行わないでもよいのか?
 2について:一度プログラムを走らせても、新規にコントロールを追加するという操作をしないで、編集が出来るようにするにはどうすればよいか。
  一度走らせたBookをそのまま保存しサイド立ち上げなおしてもボタンをクリックすればプログラムが動作します。走らせる前と後で何が変わっているのでしょうか?
  何処かの設定が変わるのであればその場所を教えてください。

A 回答 (1件)

>マクロの設定はしていないのに!


たぶん勘違いですね。「マクロの登録」が必要なのは「ツールバー」→「フォーム」の中にあるコマンドボタンです。

「コントロールツールボックス」のコマンドボタンをClickしたときに動くマクロは「Sub コントロール名_Click()」のモジュールに書きますが、質問にあるようにちゃんと書いていますので、動くのが当然です。

2については良く理解できていませんが「コントロールツールボックスバー」のなかに「デザインモード」のアイコンがあります(三角定規と鉛筆みたいなアイコン)
これをクリックして「デザインモード」にしてからコントロールを選択すれば、いつでも編集できます
    • good
    • 0
この回答へのお礼

早速のご回答有難う御座います。
再度確かめてみました仰るとおりの動作しました。
有難う御座いました。

お礼日時:2008/04/12 16:12

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