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

ExcelのVBAで、表題の動作をさせたいと考えています。

複数のシート(Sheet1、Sheet2、Sheet3…)にそれぞれ配置したボタンに、
全て同じ動作をさせるのが目的です。
ただし、動作内容そのものは、Generalで定義するなどで一箇所で行うようにしたいです。
シート数が多く、それぞれにボタンを配置するのはいいとして
全てのシートのセクションでボタン動作を一つ一つ定義するのが面倒なため、
ここで質問させて頂いています。

単純に、各シートのボタンの名前をfuncButton1とし、Generalセクションに
Public宣言して動作を書きましたが動きませんでした。
(↑ニュアンスとしてこういうやり方をしたい、という事です)

どうかご教授お願いします。

A 回答 (3件)

>やってみたのですが…動作しないのです。



1.ボタンはコントロールツールボックスではなくて、フォームからボタンを作成します。
2.コードはシートモジュールではなくて、標準モジュールに記述します。
    • good
    • 1
この回答へのお礼

できました!ありがとうございました。
フォームのボタンはデザイン度が低いのが難点ですが…。問題解決です。

お礼日時:2008/08/29 22:55

標準モジュールに共通のコードを書いて、シートのボタンをクリック


したときにそれを呼び出す、というのではダメなのでしょうか。

Private Sub CommandButton1_Click()
Call Module1.sample
End Sub

ご質問の意図を誤解していましたら補足お願いいたします。

この回答への補足

説明が足りなかったようです。
シートのボタンを配置して、「それぞれのボタンに」
動作を定義しなくてはいけないので、それではNGでした。
#将来的にシートやボタンが増えても手間がかからないようにしたかったのです。

補足日時:2008/08/29 22:57
    • good
    • 0

ボタンに動作(マクロ)を設定したあと、ボタンををコピーして別のシートに貼付ければ同じ動作をします。

この回答への補足

コメントありがとうございます。

やってみたのですが…動作しないのです。
コードのウィンドウに動作が追加されないので、動くわけが
ないような気もしますが。

遅ればせながら、バージョンの違いでしょうか。
使用しているのはExcel2000です。

補足日時:2008/08/29 08:31
    • good
    • 0

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

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


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