- 締切済み
excel vba です
シートにActiveXコントロールでボタンを作りました そのボタン押下時、 標準モージュールにあるソースを直接呼出したいのですが、 ボタンとそのモジュールの割り当て方がわかりません 教えてください (1) sheet1 に CommandButton1 というボタンがあります (2) 標準モージュールにある、 Sub test() というモジュールを直接呼び出したい 普通にやると、Sheet1 に Private Sub CommandButton1_Click() というモジュールができてしまいます そこから、Sub test() をcall するのではなく、直接呼び出したいのです 教えてください、宜しくお願いします
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
シートにコマンドボタンを貼り付けるのは、体裁のためでなく Private Sub CommandButton1_Click() End Sub というイベントプロシを通じて、ユーザーのやりたいプログラムを実行させたいがための仕組みである。 Private Sub CommandButton1_Click() End Sub の間にプロシージャー名を書けばしまいではないか。 こういう仕組みを使わないで自分で似た公か効果を挙げるのは、無理だし無駄。 >Sub test() をcall するのではなく、直接呼び出したいのです とは何を意味するのか。 初心者だと思うが余り凝ったことを考えないこと。 Callを形の上では 省くことは出来る。 >標準モージュールにあるソースを直接呼出したいのですが 「直接」の意味がわからない。 兆区セル呼び出せたとしてどういう効果がある? Private Sub CommandButton1_Click() test End Sub と書ける。 Testは標準モジュールにおいたモジュールの名。 しかしこんなことを聞いていないだろう。 APIやウインドウズの仕組みを勉強するまでは、思いつきの質問は控えるべきだ。
- temtecomai2
- ベストアンサー率61% (656/1071)
> ではボタンではなく、テキストボックスのlostfocus時、に標準モジュールを呼び出す方法があれば教えてください できない。
- temtecomai2
- ベストアンサー率61% (656/1071)
それなら ActiveX コントロールのボタンじゃなく フォーム コントロールのボタンを使う必要がある。 フォーム コントロールのボタンならボタンへのマクロ登録で標準モジュールの test プロシージャを直接呼び出せる。
補足
はやり、 フォーム コントロールのボタンでマクロの登録でないとできないのでしょうか? ではボタンではなく、テキストボックスのlostfocus時、に標準モジュールを呼び出す方法があれば教えてください 宜しくお願いします