2017-01-09 5 views
0

私は現在、できるだけ自動化するためにいくつかのExcel文書を作成しています。 これのために、各シートに同じボタンを追加する必要があります(たとえば、「すべてを消去」ボタンとします)。 ここまでOKです。私はそれを追加し、すべて正常に動作します。問題は、onClickイベントコードが、新しいMicrosoft Excelオブジェクトコードとして、すべての異なるシートに複製されることです。私が望むのは、すべてのボタンが単一のモジュールを指すようにするため、どこにでもコードを複製する必要はありません。Excel VBA - 複数のボタンが同じイベントを指しています

私は.Net環境から来ていますが、VBAにはいくつかの制限や使い方がありますが、すべてのシートでonClickイベントを回避して、このonClickを1つの汎用モジュールに入れることができるかどうかはわかります。

回避策として、モジュールのSUBとして機能を追加しました。別のonClickイベントから呼び出していますが、シート固有のコードをすべて直接クリーニングすることができればそれは素晴らしいでしょう:)

これに手がかりはありますか?

希望は明確でなく、場合には、十分ないくつかのより多くの記述が私に教えてください必要が事前にいくつかのグラフ/ PICに

おかげで多くを追加しようとしています!

答えて

1

同じマクロを各ボタンに割り当てることができます。 (ボタンを右クリックして「マクロを割り当てる」)

マクロ内で処理するシートとしてActiveWorksシートを指定している限り、これは問題ありません。

代わりに、必要な汎用ボタンを使用して非モーダルのユーザーフォームを作成し、それを押したときにアクティブなワークシートで作業するコードを使用することができます。

+0

私は通常のボタン(フォームコントロール)の代わりにコマンドボタン(ActiveX)を使用していました。今それはうまく動作しますありがとう!好奇心のように、ActiveXコマンドコントロールで可能ですか? –

関連する問題