|
>この Form には実行ボタンを貼り付けてあり、実行ボタンを押すと、
>アクティブシートのデータを元にプログラムが実行されます。
>しかし、Form 起動時のアクティブシートに必ずしもプログラムを実行させたい
>データが存在するとも限らないので
ならば実行ボタンを押した直後に、実行ボタンのマクロで全シートをループして
>プログラムを実行させたいデータ
が存在しているシートを Findメソッド 等で検索し、変数に入れる(例↓
Dim WS As Worksheet, Sh As Worksheet
Dim FR As Range
For Each WS In Worksheets
Set FR = WS.Cells.Find("XYZ", , xlValues)
If Not FR Is Nothing Then
Set Sh = WS: Set FR = Nothing: Exit For
End If
Next
If Sh Is Nothing Then
MsgBox "処理対象のシートが見つかりません", 48
Exit Sub
End If
というコードにすれば良いと思います。なお、シートを変数に入れるのは、
いちいちアクティブにしなくても処理が出来るからです。
|
|