- 締切済み
エクセル マクロ 検索 自動記録できない
excel2003でマクロを作っていますが、 ファイルを立ち上げたときに自動的にファイル-編集-検索を実行し、 検索画面を起動するようにしたいので、その動作を自動記録しようとするのですが、記録できません。 過去の質問を見て、 Application.Dialogs(xlDialogFormulaFind).Show ↑これを使えば出来ると書いてありましたが、 少し古いエクセルの検索画面で、私が使いたいexcel2003の検索画面ではありませんでした。 どのようにすれば、検索画面をマクロで起動できるのでしょうか。 ご教示いただけますようよろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- redfox63
- ベストアンサー率71% (1325/1856)
SendKeysは便利ですが 危険もあることを承知してください Excel単独で動作している場合はいいのですが 他のアプリが動作していて ActiveSheet.SelectとSendKeysの命令の間にフォアグランドウィンドウが切り替わってしまった場合切り替わった側にキー操作が送信されてしまいます めったに無いことですがご承知おきください
- Daiki_PaPa
- ベストアンサー率55% (11/20)
ど~も。 難しいことは言えませんが、 多分下コードをコピペしていただくだけで、思い通りに動くのではないでしょうか? 一つ条件として、ThisWorkbookモジュールにコピペしてください。 ThisWorkbookモジュールは、Sheet3(Sheet3)の下にあります。 ----------------------------------------------------------------- Private Sub Workbook_Open() Application.CommandBars("Worksheet Menu Bar"). _ Controls("編集(&E)").Controls("検索(&F)...").Execute End Sub ----------------------------------------------------------------- どうでしょう。
- imogasi
- ベストアンサー率27% (4737/17069)
>少し古いエクセルの検索画面 バージョンにあわせた画面が出てくると思ってましたが、出てきませんか。 Sub test01() Application.Dialogs(xlDialogFormulaFind).Show End Sub Sub test03() Application.Dialogs(xlDialogFormulaReplace).Show End Sub どちらとも違いますか。
お礼
ありがとうございました。 これについては、なぜかエクセル2000の検索画面が出てくるのです。 よって、オプションとかの設定がないのです。このたびはオプション設定をつかいますので、別の方法でやらしていただきます。 ありがとうございました。
- redfox63
- ベストアンサー率71% (1325/1856)
メニューである CommandBarから探して Executeメソッドの実行になりそうです dim cmd as CommandBar dim pop as CommnadBarPopup dim btn as CommnadBarButton set cmd = CommandBars("Worksheet Menu Bar") set pop = cmd.Controls("編集(&E)") set btn = pop.Controls("検索(&F)...") btn.Execute または Sendkeysを使って ActiveCell.Select SendKeys "^f" といった具合でしょう
お礼
sendkeysは非常に便利ですね。初めて知りました。 これはいろいろ応用できそうです。 お礼が遅くなり申し訳ありませんが、ありがとうございました。 大変参考になりました。
お礼
大変お礼が遅くなり申し訳ありません。 このようなやり方があるのですね。 大変参考になりましたありがとうございました。