|
コードをひとまとめにすることはできますか?
1つのブックに複数のシートがあります。
それぞれのシートのコードは全部一緒です。
1つのシートにはボタンが3つ配置されており、それぞれのボタンに対してマクロを登録しています。
現在、各シートごとにボタンを配置し、それぞれのシートすべてにコードをコピペしています。
一括して処理できそうな気もするのですが、方法はありますでしょうか?
つん - 05/8/3(水) 14:13 -
アイアム さん、こんにちは
>1つのブックに複数のシートがあります。
>それぞれのシートのコードは全部一緒です。
>1つのシートにはボタンが3つ配置されており、それぞれのボタンに対してマクロを登録しています。
>現在、各シートごとにボタンを配置し、それぞれのシートすべてにコードをコピペしています。
マクロを登録・・・ということは「フォーム」のボタンでしょうか?
でしたら、同じコードをそれぞれ対応するボタンに登録すればいいと思うんですが。
それとも「コントロール」のボタンでしょうか?
でしたら、標準モジュールに「Public Sub」でプロシージャを作って、
各々のボタンから、Callしたらどうでしょう?
・・・って、こんな単純なことじゃないような気もしますね・・・
つん様、回答ありがとうございます。
VBAは苦手でして、あまり説明できるかわからないのですが、
ボタンは[ツール]-[ユーザー設定]-[ツールバー]で「フォーム」にチェックを入れたときに出てくるツールバーにあるボタンを使用しました。
<シート名>
サンプル1
[ボタン1][ボタン2][ボタン3]
<シート名>
サンプル2
[ボタン1][ボタン2][ボタン3]
<シート名>
サンプル3
[ボタン1][ボタン2][ボタン3]
といったブックがあります。
Visual Basic Editorを起動し、
Microsoft Excel Objectsの
Sheet1 (サンプル1)
Sheet2 (サンプル2)
Sheet3 (サンプル3)
にそれぞれ、
Sub btn1()
End Sub
--------------
Sub btn2()
End Sub
--------------
Sub btn3()
End Sub
を記述しています。
シート名:サンプル1
[ボタン1]にマクロの登録で「Sheet1.btn1」
[ボタン2]にマクロの登録で「Sheet1.btn2」
[ボタン3]にマクロの登録で「Sheet1.btn3」
シート名:サンプル2
[ボタン1]にマクロの登録で「Sheet2.btn1」
[ボタン2]にマクロの登録で「Sheet2.btn2」
[ボタン3]にマクロの登録で「Sheet2.btn3」
シート名:サンプル3
[ボタン1]にマクロの登録で「Sheet3.btn1」
[ボタン2]にマクロの登録で「Sheet3.btn2」
[ボタン3]にマクロの登録で「Sheet3.btn3」
というように登録しています。
ボタン1〜3のコードをひとまとめに記述した上で、
各シートのボタンをクリックしたときに、そのシート内でコードが適応されるようにしたいのです。
|
|