Excel2002で、あるセルに入力した文字列をキーワードに、複数のワークシートを検索、検索結果表示を「編集」-「検索」-「すべて検索」をクリックしたように一覧表示したい。
組み込みダイアログボックスを使い、VBAを次のように記述しましたが、表示されるウィンドウに「すべて検索」の表示は無く、「次を検索」しかできません。
組み込みダイアログボックスの引数に何か指定すれば「すべて検索」が可能になるのでしょうか?
それとも、組み込みダイアログボックスを使うことが間違っているのでしょうか?
よろしくお願いします。
Public Sub Kensaku()
'変数の宣言
Dim strKeywords As String
Dim vntShar As Variant
'検索したい文字列を変数Keywordsに取得
strKeywords = Range("B4").Value
'左から2番目、3番目、4番目のワークシートを選択
vntShar = Array(2, 3, 4)
Sheets(vntShar).Select
'検索ウインドウを開いて検索を実行
Application.Dialogs(xlDialogFormulaFind).Show (strKeywords)
End Sub
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
こんにちは。
Wendy02です。返事が遅くなりました。
>キーワードは、Sheet1のB4セルでは駄目なのでしょうか?
うまく行きませんでしたか?
ちょっと気になるのは、
strKeywords = Range("B4").Value
ここは、シート名が入っていませんが、本当によいのでしょうか?
通常は、ボタンがあるところですが、コードがちょっと不安ですね。
strKeywords = Worksheets("Sheet1").Range("B4").Value
と明示的に、指定して、もう一度#1のコードを試してください。
次に、それがダメでしたら、外部から送ることにします。
Sub TestSample2()
Dim strKeywords As String
Dim vntShar As Variant
vntShar = Array("Sheet2", "Sheet3","Sheet4")
Sheets(vntShar).Select
strKeywords = Sheet1.Range("B4").Value
SendKeys "^f"
CreateObject("Wscript.Shell").SendKeys strKeywords
CreateObject("Wscript.Shell").SendKeys "{Enter}"
End Sub
No.2
- 回答日時:
a88さん、こんにちわ。
a88さんのおっしゃっている検索ダイアログとは、Excel2002から追加になったものと存じます。
また、コード内に記述したダイアログ定数 xlDialogFormulaFind はそれ以前のものです。
従って、xlDialogFormulaFindに何かしらのオプションを加えることで「すべて検索」を
表示させることはできないと思います。
Excel2002から追加になった検索ダイアログは、ダイアログを表示させながらシート操作ができる
「モードレスダイアログ」というものですが、どうやらDialogsの引数には存在しないようですね。
Excel2000(モードレス検索ダイアログの無いバージョン)からExcel2002(あるバージョン)に
上がった際に、VBAのメインバージョンが上がっていない(共にVer.6.xx)ことから考えると
VBAから件のダイアログを表示させるのは難しいと思うのですが。
(ちょっとWebで調べてみたところでは存在しませんでした。)
モードレスのユーザーフォームを作成し、御自分で同様な機能を持つものを作成するしかないかも
知れません。
No.1
- 回答日時:
こんにちは。
最初に、基本的なことなのですが、
>'検索ウインドウを開いて検索を実行
>Application.Dialogs(xlDialogFormulaFind).Show (strKeywords)
>End Sub
これでは、VBAが終われないのではありませんか?
検索ができるようには思えません。この先をどうするか、ということだと思います。
>vntShar = Array(2, 3, 4)
>Sheets(vntShar).Select
それから、これは出来ますか?Sheets のIndex に配列は利かないように思いますが?
最後に、
Public Sub Kensaku()
どうして、Public ステートメントが必要なのですか?標準モジュールに書けば、規定値としてPublicプロシージャなのですけれども。
サンプルを考えてみました。ボタンなどにマクロを取り付けてください。なお、検索で見つからなかったときは、メッセージをはきだして、検索ダイアログ自体の有効性を失います。
Sub TestSample()
Dim strKeywords As String
Dim vntShar As Variant
vntShar = Array("Sheet2", "Sheet3","Sheet4")
Sheets(vntShar).Select
strKeywords = Range("B4").Value
SendKeys "^f"
SendKeys strKeywords
End Sub
通常は、このようなマクロは作りません。Findメソッドを使います。Findメソッドは、戻り値が、オブジェクトなので、オブジェクトのあるなしは、Nothing で分りますから、解除できます。
この回答への補足
Wendy02さん
早速の回答ありがとうございます。
初心者の為、めちゃくちゃな質問をしていたようで、すみません。
サンプルのマクロで、SendKeysの存在を知りました。
このサンプルを使いたいのですが、どうもキーワードの選択がうまくいきません。
キーワードは、Sheet1のB4セルでは駄目なのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) VBA初心者です 検索した数字の行に色をつける 5 2023/02/13 14:22
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Excel(エクセル) 指定文字列が該当するA列をアクティブセルにするには 3 2022/08/17 13:18
- Excel(エクセル) 製品番号での整列と、検索に関して 3 2023/06/28 19:20
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Visual Basic(VBA) ユーザーフォームの表示を追加したい 2 2023/03/26 23:18
- Visual Basic(VBA) Excle VBA Findメソッドについて 3 2022/07/15 13:56
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
bingで、マイナス検索ってでき...
-
緊急 XVIDEOSを久しぶりに検索...
-
グーグルマップで「愛知 スーパ...
-
グーグル、ヤフー以外の検索サ...
-
sinhx^(-1)はどう読めばいいで...
-
excelでマクロを用いた検索エン...
-
「ページを表示できません。」...
-
Googleで検索ボタンを押しても...
-
ヤフーなどの「検索」欄の履歴...
-
Outlookのメール検索が突然出来...
-
HP の文字検索
-
自分のインターネットの世界か...
-
A重油の単価
-
「稚劣」という単語について
-
Googleの情報収集は何を集めて...
-
midomiがずっと検索中...と表示...
-
すぐムラムラするのを抑えたい2...
-
VB.NET DataGridView 縦スクロ...
-
インターネットの履歴はどこの...
-
googleアカウントがいつの間に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
緊急 XVIDEOSを久しぶりに検索...
-
グーグル検索の「0.21秒」って...
-
bingで、マイナス検索ってでき...
-
「稚劣」という単語について
-
A重油の単価
-
excelでマクロを用いた検索エン...
-
Outlookのメール検索が突然出来...
-
google検索でカーソルが移動す...
-
Googleで検索ボタンを押しても...
-
midomiがずっと検索中...と表示...
-
ピザ屋注文したら、電話番号か...
-
skypeでメールアドレスを変更し...
-
渋谷区初台をカバーしているケ...
-
検索したときのヒット件数の表示
-
iPhone Safariでの検索結果で日...
-
sinhx^(-1)はどう読めばいいで...
-
電話番号についてわかる方
-
Excel VBA組み込みダイアログボ...
-
日本語でキーワードを入力しグ...
-
Googleの情報収集は何を集めて...
おすすめ情報