Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7275 / 13645 ツリー ←次へ | 前へ→

【40095】検索ダイアログについて ボタン 06/7/6(木) 21:39 質問[未読]
【40096】Re:検索ダイアログについて ぱっせんじゃー 06/7/6(木) 21:44 発言[未読]
【40130】Re:検索ダイアログについて ボタン 06/7/7(金) 11:43 お礼[未読]
【40149】Re:検索ダイアログについて ハト 06/7/7(金) 15:39 回答[未読]
【40177】Re:検索ダイアログについて ボタン 06/7/7(金) 21:26 お礼[未読]

【40095】検索ダイアログについて
質問  ボタン  - 06/7/6(木) 21:39 -

引用なし
パスワード
   はじめまして。
検索ダイアログをボタンに割り当てたくて、下記のマクロを作成しました。

Sub 検索()
 Application.Dialogs(xlDialogFormulaFind).Show
End Sub

しかし、実行して検索単語を入力しても、
「検索条件に一致するデータは見つかりません」と出てきます。
一方で、Ctrl+F で検索をすると、ちゃんと検索されます。

なぜマクロでは検索できないのか、教えてください。
(最終的には、ワンタッチでブック全体を検索できるダイアログが出るボタンにしたいと思っています。)
よろしくお願いします。

【40096】Re:検索ダイアログについて
発言  ぱっせんじゃー  - 06/7/6(木) 21:44 -

引用なし
パスワード
   Findメソッド、FindNextメソッドなどを
使用、ではだめでしょうか?

【40130】Re:検索ダイアログについて
お礼  ボタン  - 06/7/7(金) 11:43 -

引用なし
パスワード
   ▼ぱっせんじゃー さん:
>Findメソッド、FindNextメソッドなどを
>使用、ではだめでしょうか?
特定の語句ではなく、その都度入力して探せるようにしたいです。
上記のメソッドでもできるようですが、VBAは始めたばかりなので、
それらはこれから覚えていく段階です。

Ctrl+F でいいじゃないかと思われるかもしれませんが、
ショートカットに詳しくない人でも、
1つボタンを押すだけで検索が立ち上がる仕様がいいので・・・。

なぜ検索結果が質問のようになってしまうのか、いまだに理解できずにいます。
引き続きご回答いただけるかたをお待ちしています。
(ぱっせんじゃー さん、ありがとうございました。)

【40149】Re:検索ダイアログについて
回答  ハト  - 06/7/7(金) 15:39 -

引用なし
パスワード
   おはようございます

▼ボタン さん:
>▼ぱっせんじゃー さん:
>>Findメソッド、FindNextメソッドなどを
>>使用、ではだめでしょうか?
>特定の語句ではなく、その都度入力して探せるようにしたいです。
>上記のメソッドでもできるようですが、VBAは始めたばかりなので、
>それらはこれから覚えていく段階です。
>
>Ctrl+F でいいじゃないかと思われるかもしれませんが、
>ショートカットに詳しくない人でも、
>1つボタンを押すだけで検索が立ち上がる仕様がいいので・・・。
>
>なぜ検索結果が質問のようになってしまうのか、いまだに理解できずにいます。
>引き続きご回答いただけるかたをお待ちしています。
>(ぱっせんじゃー さん、ありがとうございました。)

Sub 検索() 
  Application.Dialogs(xlDialogFormulaFind).Show
End Sub

これを実行した場合、検索範囲はその時選択されているセルのみのようです
(範囲選択していなければ、現在カーソルのあるセルのみ)

解決策1

見栄えは悪いかもしれませんが、

Sub 検索() 
  ThisWorkbook.ActiveSheet.Cells.Select
  Application.Dialogs(xlDialogFormulaFind).Show
End Sub

としてみる

解決策2
検索範囲を事前に選択しておいてから
Sub 検索() 
  Application.Dialogs(xlDialogFormulaFind).Show
End Sub

を実行する

【40177】Re:検索ダイアログについて
お礼  ボタン  - 06/7/7(金) 21:26 -

引用なし
パスワード
   ▼ハト さん:
明確な回答をありがとうございました。

>Sub 検索() 
>  Application.Dialogs(xlDialogFormulaFind).Show
>End Sub
>
>これを実行した場合、検索範囲はその時選択されているセルのみのようです
>(範囲選択していなければ、現在カーソルのあるセルのみ)
そういうことだったんですね。疑問が晴れました。

>解決策1
>
>見栄えは悪いかもしれませんが、
>
>Sub 検索() 
>  ThisWorkbook.ActiveSheet.Cells.Select
>  Application.Dialogs(xlDialogFormulaFind).Show
>End Sub
>
>としてみる
>
>解決策2
>検索範囲を事前に選択しておいてから
>Sub 検索() 
>  Application.Dialogs(xlDialogFormulaFind).Show
>End Sub
>
>を実行する
すべてのシートに対して検索をかける、ということで、
全シートを選択してから、Application.Dialogs(xlDialogFormulaFind).Show
とできるように勉強してみます。
おぼつかない質問に丁寧に答えていただきありがとうございました。

7275 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free