|
▼ゆうすけ さん:
MsgBoxでシートを指定する という意味がいまいちわかりにくいのですが・・
提示されたコードでブックに対しては
・このブック名を開いてね というメッセージをだしておいて
・ブック選択ダイアログを表示して
・操作者に開くべきブックをせんたくさせて
・そのブックをマクロで開く
こんな流れですね。
これをシートに当てはめると
・このシートを選んでね というメッセージを出して
・シート一覧のようなものを表示して
・操作者にシートを指定させて
・マクロで、そのシートを選択する
こういったことを想定しておられるのでしょうか?
まず、(ブックもそうなんですが)選択すべきシートがわかっているなら
操作者に選ばせるまでもなく、マクロで直接、そのシートをSelectすれば
いいのでは? と思うのですが。
そうではなく、選択すべきシートは、やはり、操作者に指定させないと
マクロでは判断できないということでしょうか?
であれば、γさんコメントの様に、たとえばユーザーフォームで
シート一覧を表示して選ばせるということも、よく使われる方法ですし、
以下のように、開きたいシートの任意のセルを選ばせるという手もあります。
Sub Sample()
Dim c As Range
On Error Resume Next
Set c = Application.InputBox("目的のシートの任意のセルを選択してください", Type:=8)
On Error GoTo 0
If c Is Nothing Then Exit Sub 'キャンセルボタン
c.Parent.Select
End Sub
|
|