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

シートAのActiveXコントロールのボタンをクリックすると、
シートBのA列全体を検索して、条件に合うセルに処理を行います。

シートB内だけでの処理を行うと、うまく行きますが、
シートAのボタンを使用する時の、コードの書き方がわかりません。
どなたかご教授ください。

A 回答 (3件)

複数シートの処理ではActiveSheetを使うケースは滅多にないです。


使ってませんか?

dim sh1 as worksheet,sh2 as worksheet

set sh1 = Worksheets("Sheet1")
set sh2 = WorkSheets("Sheet2")

みたいな感じで予めセットして

ActiveSheetの代わりにこれらを使う事で区別します。

でないと書いていてどっちへの処理だったか迷うじゃないですか。

勿論単純な処理なら
With WorkSheets("Sheet1")みたいに
片方を.で済ませるのもありですけど。
    • good
    • 0

> Callで標準モジュールから、ソースを呼ぶことはできるのですが、その時は、


> 処理させたいシートBではなく、シートAに対して実行されてしまいます。
ちゃんと Worksheetを指定して処理していますか?

現象が再現できる部分だけでいいので コードを提示した方が アドバイスを得
られやすいと思います。
    • good
    • 0
この回答へのお礼

シートを指定してうまく行きました!ありがとうございます。

お礼日時:2017/07/11 18:39

多分処理全てをシートモジュールに書き込んでしまっているのでは?


シートモジュールから共通モジュールの処理を「Call」を使って呼び出せばよいはずです。
    • good
    • 0
この回答へのお礼

アドバイス、ありがとうございます。
Callで標準モジュールから、ソースを呼ぶことはできるのですが、その時は、処理させたいシートBではなく、シートAに対して実行されてしまいます。
シートを指定して実行するときの、コードがわからない感じです。
もし可能でしたら、ご教授よろしくお願いします!

お礼日時:2017/06/20 14:21

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