![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.1ベストアンサー
- 回答日時:
こんにちは。
> エクセルの「検索と置換」を
> Application.Dialogs(xlDialogFormulaFind).Show
> で出現させて検索の作業をしています。
> 作業後に「検索と置換」の画面をマクロで消したいのですが
> どのようなコードになるでしょうか。
問題解決の肝は、
何故or何の為に、「検索と置換」ダイアログを表示させる必要があるのか、
ということになると思いますが、
この点をうまく説明できないでいることも、
解決の糸口を見つけられないでいる原因のようですね。
> 「検索と置換」の画面をマクロで消したい
結論からいうと、残念ながら、そういう機能は用意されていません。
それはExcelやVBAの仕様がどうこうとかいう次元ではなくて、
目的に適ったツール選びが出来ていないのだと思います。
ダイアログというのは概ね、制御を占有して、
ユーザー(の手作業による)操作に応じて、実行したり閉じたりするものです。
制御を占有している、ということは、一連のユーザー(の手作業による)操作
が終って、ダイアログが閉じるまでは、
他の操作やコマンドを割り込んで実行することは出来ない、
ということを意味します。
例えば、
Sub test()
' ' 前処理
Application.Dialogs(xlDialogFormulaFind).Show
' ' 後処理
End Sub
↑このプロシージャを実行すると、
"前処理"を実行し「検索と置換」ダイアログを表示しますが、
ユーザー(の手作業による)操作によってダイアログが閉じるまでは
"後処理"を実行することは出来ません。
割り込むことが出来ないのは、何もVBAに限った話ではなくて、
「検索と置換」ダイアログを表示している間は、
Excelアプリケーション全体について何も操作出来ませんよね?
例えば、セル範囲を選択する、なんて簡単なことでさえ、出来ないのですから。
なので、もう一度、何をしたいのか、整理した上で、
「検索と置換」ダイアログを表示する以外の手段を検討してみて下さい。
普通に考えると、range.Find メソッド や range.Replace メソッド 等で
対応することになるかと思います。
ダイアログを表示したかった理由が、
ユーザーインターフェイス的なものを求めている、ということだったとすれば、
・シート上に配置するテキストボックス
・ユーザーフォーム+テキストボックス
・application.InputBox
等々、制御を占有することのない(つまり閉じるコマンドを受け取れる)
インターフェイスを準備することは可能です。
ここで想定した以外の目的、なのかも知れませんが、
ExcelやVBAの既存の機能を組み合わせていけば、
大抵の要求には応えられるようになっているでしょう。
部分的な方法論というより、全体を俯瞰的に見渡して、
どのようなツールが適しているのか選択することから再検討ですね。
十分な情報が追加されるようであれば、こちらでも検討・アドバイスすることは可能です。
"無いものは作ってしまえ"的に、ダイアログを閉じるようなことは、
出来なくもないかな?と思いますが、それにしても、
いつ閉じるのか、
という(タイミングを取る)トリガーとして何かボタンを押すことになるぐらいなら、
最初から[閉じる]ボタンを押せばいい訳ですから、
"いつ"ダイアログを閉じるのか、とか、
5W1H的な説明をまず、ご自分の中で整理してみたらいいと思います。
例えば、「Enterキーを押したら、閉じる」みたいな要求なら、
シート上やユーザーフォーム上のテキストボックス
がお奨め、とか、具体的なニーズに副ったアドバイスなら出来るかも、です。
この回答へのお礼
お礼日時:2014/09/26 18:04
cj_ mover様
ご回答ありがとうございます。
「何故or何の為に、「検索と置換」ダイアログを表示させる必要があるのか」
を考え、改めてお聞きさせていただきます。
ご丁寧にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) マクロVBAのフォルダ階層別で検索の方法 4 2022/04/03 23:23
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) 指定値をマクロで検索&シート移動 2 2022/04/27 23:29
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- その他(コンピューター・テクノロジー) 正規表現の置換で一部の文字列をそのまま残したい 2 2022/05/03 19:19
- Access(アクセス) Accessで、『"A"以外の場合"--"に置き換える』という作業をしたいのですが、良い方法はありま 1 2022/06/07 19:30
- Excel(エクセル) エクセルのプロパティーでセキュリティーが表示されない 1 2022/09/01 21:39
- Excel(エクセル) 数式の置換がうまく行かない 6 2022/05/04 15:51
- Word(ワード) ワードフォント 一括置換の方法 4 2022/12/31 00:27
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カンマ区切り形式ではなく、セ...
-
Ctrl+Hで置換にならない
-
エクセル「検索と置換」の表示...
-
パワーポイントの置き換えマクロ
-
文字列の<>で囲まれた文字列...
-
エクセルで例えば、関数を使っ...
-
vbaで実行後、指定のセルに戻す...
-
秀丸で改行タグ<br>を入れる方...
-
Wordチェックボックス作り方(...
-
Wordで一括して改ページする方法
-
ExcelのROUND関数を一括解除し...
-
大阪中央病院で人工膝関節置換...
-
エクセル 置換中の値の更新
-
EXCELデータ上で複数のキーワー...
-
秀丸エディタ タブをカンマに...
-
アウトルックエクスプレスのア...
-
エクセルでアルファベット5段階...
-
PDFファイルのグレースケール化
-
Accessで、特定の記号を削除し...
-
複数PDFファイル内の特定文字列...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カンマ区切り形式ではなく、セ...
-
文字を一括で置換するソフト・...
-
txtファイル内の指定の単語の数...
-
エクセルで置換リストを別ブッ...
-
エクセルでアルファベット5段階...
-
Wordチェックボックス作り方(...
-
ExcelのROUND関数を一括解除し...
-
秀丸エディタ タブをカンマに...
-
Ctrl+Hで置換にならない
-
WORDで一括置換
-
エクセル 置換中の値の更新
-
置換(検索場所に「ブック」を...
-
入力済みの文字中にある句読点...
-
Wordで一括して改ページする方法
-
マクロで文字列をブック全体に...
-
エクセルで例えば、関数を使っ...
-
パワーポイントの置き換えマクロ
-
大学数学の代数の問題です。 ・...
-
正規表現の置換で一部の文字列...
-
HTMLタグを一括消去する方法
おすすめ情報