• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル「検索と置換」を閉じるマクロ)

エクセル「検索と置換」を閉じるマクロ

このQ&Aのポイント
  • エクセルの「検索と置換」をマクロボタンで閉じる方法について知りたい。
  • ファイルAとファイルBの検索作業を繰り返している際に、ファイルBに移動した時点で「検索と置換」の画面を閉じるマクロを実行したい。
  • 「マクロの新しい記録」では、「検索と置換」の画面を閉じるマクロを記録することができない。どうすれば実現できるか知りたい。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

こんにちは。 前回、同じような質問が出ていますが、こちらも、前回の人の回答とはあまり変わりません。 別に誰が答えても、VBAで、こういう回答は、同じ類のものになります。 基本的なVBAの考え方が出来ていないのに、ひとつの方法にこだわるのはやめたほうがよいです。 一度、フローチャートを書いたら、一目瞭然です。 ダイアログの「検索と置換」を「入力」し「閉じる」作業は、誰が決めるか、ということです。 そのダイアログを検索し閉じるというタイミングは人が決めるもので、その人本人しか分からないはずです。 少しも、前の方が書いた内容を理解していないようです。 そもそも、 ・何故or何の為に、「検索と置換」ダイアログを表示させる必要があるのか、 ということです。単に別のテクニックを知らないという理由ではないでしょうか? 言い方を変えれば、 Application.Dialogs(xlDialogFormulaFind).Show このダイアログが開いている間は、VBAは停止状態になります。 それをVBA範囲内で処理することは出来ません。 既に書かれている話ですが、ユーザーは、検索語を入れるだけの作業で、  Application.Dialogs(xlDialogFormulaFind).Show 既存のダイアログなど不要です。当然、それを使わなければ、閉じるという操作自体も不要です。単に、検索語として、Inputbox 関数やメソッド、ユーザーフォームを使うなど、そうした対話型マクロを作り、その先に何をするかということです。 もしかしたら、VBAマクロとキーボードマクロと混同していませんか。 演出のためにするのでしたら、VBAではなく、外部言語で、例えば「UWSC」というキーボードマクロ(一般的にはWindows マクロという名前)が必要です。 しかし、VBAには、「検索・置換」ダイアログに替わるものはありますから、あえて、それで、自動で行う必要もありません。例えば、「Find メソッド」をヘルプでみてください。コードとしては、初心者には負担が大きいのですが、やり方は書籍にでも確認すれば分かります。

fukuzawakamon
質問者

お礼

WindFaller様 ご回答ありがとうございます。 ご指摘のとおり、せっかくのご指導を理解していませんでした。 ありがとうございました。

関連するQ&A

専門家に質問してみよう