• 締切済み

excel vba です

シートにActiveXコントロールでボタンを作りました そのボタン押下時、 標準モージュールにあるソースを直接呼出したいのですが、 ボタンとそのモジュールの割り当て方がわかりません 教えてください (1) sheet1 に CommandButton1 というボタンがあります (2) 標準モージュールにある、 Sub test() というモジュールを直接呼び出したい 普通にやると、Sheet1 に Private Sub CommandButton1_Click() というモジュールができてしまいます そこから、Sub test() をcall するのではなく、直接呼び出したいのです 教えてください、宜しくお願いします

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

シートにコマンドボタンを貼り付けるのは、体裁のためでなく 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やウインドウズの仕組みを勉強するまでは、思いつきの質問は控えるべきだ。

回答No.2

> ではボタンではなく、テキストボックスのlostfocus時、に標準モジュールを呼び出す方法があれば教えてください できない。

回答No.1

それなら ActiveX コントロールのボタンじゃなく フォーム コントロールのボタンを使う必要がある。 フォーム コントロールのボタンならボタンへのマクロ登録で標準モジュールの test プロシージャを直接呼び出せる。

kkkkyoko
質問者

補足

はやり、 フォーム コントロールのボタンでマクロの登録でないとできないのでしょうか? ではボタンではなく、テキストボックスのlostfocus時、に標準モジュールを呼び出す方法があれば教えてください 宜しくお願いします

関連するQ&A