VBAで以下のようにマクロ設定して検索ダイアログを表示しました。
Sub 検索()
Application.Dialogs(xlDialogFormulaFind).Show
End Sub
しかし、シートに設置したフォームボタンにマクロを設定して、
検索ダイアログを呼び出したところ、正常に検索が行われません。
Excelのメニューの編集から選べる検索(呼び出したのと同じ物)では
正常に動作していたので、なぜマクロから呼び出したものではダメなのか
わかりません。
おそらく、検索するべきシートが正常に認識されていないのだと思います。
この場合、どうしたらよいのでしょうか?
試しに、Activesheet. とかも付けてみましたがダメでした。
メニュー項目は全て隠してしまう仕様にしたいのでどうしてもボタン
から呼び出す必要があります。
環境は、Excel2000です。
Sub EditFind()
Application.Dialogs(xlDialogFormulaFind).Show , 2, , 2
End Sub
こちらはいかがでしょうか
Cells.Select
を前に入れて 全セルを選択した状態にしてから検索するのは いいでしょうか?
Sub 検索()
Cells.Select
Application.Dialogs(xlDialogFormulaFind).Show
End Sub
全て選択状態でならできるのですね。
試しにRange("B4").Selectとしてみたら
これはダメみたいですね。
やはり、全選択させてその中を検索範囲にするしかないのでしょうか。
ただ、検索させる文字の場所が周りが反転しているので解り易くていいなと思わされました。
全選択以外での方法が出なければ、この方法を利用させていただきます。
セルを指定していないので検索されないのでは。
次のようにすればいかが。
Sub 検索()
Cells.Select
Application.Dialogs(xlDialogFormulaFind).Show
End Sub
できませんでした、残念....