アプリ版:「スタンプのみでお礼する」機能のリリースについて

excel2003でマクロを作っていますが、
 ファイルを立ち上げたときに自動的にファイル-編集-検索を実行し、
検索画面を起動するようにしたいので、その動作を自動記録しようとするのですが、記録できません。
過去の質問を見て、
Application.Dialogs(xlDialogFormulaFind).Show
↑これを使えば出来ると書いてありましたが、
少し古いエクセルの検索画面で、私が使いたいexcel2003の検索画面ではありませんでした。
 どのようにすれば、検索画面をマクロで起動できるのでしょうか。
ご教示いただけますようよろしくお願いします。

A 回答 (4件)

SendKeysは便利ですが 危険もあることを承知してください


Excel単独で動作している場合はいいのですが 他のアプリが動作していて
ActiveSheet.SelectとSendKeysの命令の間にフォアグランドウィンドウが切り替わってしまった場合切り替わった側にキー操作が送信されてしまいます
めったに無いことですがご承知おきください
    • good
    • 0

ど~も。



難しいことは言えませんが、
多分下コードをコピペしていただくだけで、思い通りに動くのではないでしょうか?
一つ条件として、ThisWorkbookモジュールにコピペしてください。
ThisWorkbookモジュールは、Sheet3(Sheet3)の下にあります。

-----------------------------------------------------------------

Private Sub Workbook_Open()
 Application.CommandBars("Worksheet Menu Bar"). _
  Controls("編集(&E)").Controls("検索(&F)...").Execute
End Sub

-----------------------------------------------------------------

どうでしょう。
    • good
    • 0
この回答へのお礼

大変お礼が遅くなり申し訳ありません。
このようなやり方があるのですね。
大変参考になりましたありがとうございました。

お礼日時:2008/10/29 23:03

>少し古いエクセルの検索画面


バージョンにあわせた画面が出てくると思ってましたが、出てきませんか。
Sub test01()
Application.Dialogs(xlDialogFormulaFind).Show
End Sub
Sub test03()
Application.Dialogs(xlDialogFormulaReplace).Show
End Sub
どちらとも違いますか。
    • good
    • 0
この回答へのお礼

ありがとうございました。
これについては、なぜかエクセル2000の検索画面が出てくるのです。
よって、オプションとかの設定がないのです。このたびはオプション設定をつかいますので、別の方法でやらしていただきます。
ありがとうございました。

お礼日時:2008/10/29 23:06

メニューである 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"

といった具合でしょう
    • good
    • 0
この回答へのお礼

sendkeysは非常に便利ですね。初めて知りました。
これはいろいろ応用できそうです。
お礼が遅くなり申し訳ありませんが、ありがとうございました。
大変参考になりました。

お礼日時:2008/10/29 23:05

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