• ベストアンサー

エクセルマクロの質問

マクロで検索したいシートに移動して、検索のダイアログを表示するまでさせたいのですが、どうすればいいのでしょうか。教えて下さい。

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

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.3

こんにちは。KenKen_SP です。 > 5枚のシートを選択して、そこから検索したいのですが...   Application.Dialogs(xlDialogFormulaFind).Show で表示されるのは、Excel2000 までの古い検索ダイアログですね... よく覚えてないですけど、古いタイプのでは不可能だったような? これは、新タイプの検索ダイアログの話ですよね? 残念ながら Application.Dialogs からでは開けませんが、工夫しだいで VBA からこのダイアログを表示することは可能です。簡単に言えば、   Application.CommandBars.FindControl(ID:=1849).Execute この一行だけです。が、、これだけだと手作業で [Ctrl]+[F] とするとか、 SendKeys した方が早いので、折角 VBA を使うのですから、それなりに自動 化してみます。 Sub Sample()   ' Excel 2002 以降の新しい検索ダイアログを表示して、[すべて検索]を   ' VBA から実行する   Dim rngDummy As Range   Dim strKeyword As String   Dim aryShNamse As Variant        aryShNamse = Array("Sheet1", "Sheet2", "Sheet3", "Sheet4", "Sheet5")   strKeyword = "1" '検索語をここに入れる"        ' ダイアログに設定できるものは予めダミーで Find メソッド   ' を実行することで設定しておく   On Error Resume Next   Set rngDummy = Sheet1.Range("A1").Find( _     What:=strKeyword, _     LookIn:=xlValues, _     LookAt:=xlWhole, _     MatchByte:=False)   Set rngDummy = Nothing   On Error GoTo 0      ' 複数のシートを選択し、作業グループにする   Worksheets(aryShNamse).Select        ' Excel メニュー[編集]-[検索]のメニューボタンを実行   ' これで Excel2002移行の新しい[検索]ダイアログが表示   ' されます   Application.CommandBars.FindControl(ID:=1849).Execute     ' あとはユーザーに任せてもよし、VBA で検索まで実行させ   ' たいなら SendKeys で逃げる   ' 検索ダイアログの[すべて検索]ボタンは [Alt]+[I]キー   SendKeys "%I"    End Sub

majalis3113
質問者

お礼

大変詳しいご回答有難うございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

Sub Macro5() Worksheets("シート名").Activate Application.Dialogs(xlDialogFormulaFind).Show End Sub では?

majalis3113
質問者

お礼

早々のご回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

Sheets("シート名").Activate Application.Dialogs(xlDialogFormulaFind).Show

majalis3113
質問者

補足

早々のご回答有難うございました。 早速やってみたところ、出来ました。ただ・・5枚のシートを選択して、そこから検索したいのですが、マクロの実行から検索のダイアログを表示させ、値の入力をすると「値がありません。」とメッセージがでます。マクロの実行ではなく、手作業でシート選択→検索→値の入力をすると、検索ができるのですが、、、どうしてこうなるのでしょうか。教えて下さい。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルマクロの質問

    先程質問させて頂いて、早々にご回答を頂き、問題は解決したのですが、また新たに問題が出たので質問します。 5枚のシートを選択して、そこから検索したいのですが、マクロの実行で検索のダイアログを表示させるまではできたのですが、いざ値を入力をすると「値がありません。」とメッセージがでます。マクロの実行ではなく、手作業で(シート選択まではマクロ)検索→値の入力をすると、検索ができるのですが、、、どうしてこうなるのでしょうか。教えて下さい。

  • EXCEL 2000のマクロで質問

    ECXEL 2000のマクロで分からない点があるので 教えてください。 下記のマクロを実行して、シートSheet2,Sheet3を削除したいのですが 実行すると、"選択したシートを削除します。一度削除すると元に戻すことは 出来ません OK キャンセル"とのダイアログが出てきてしまいます。 このダイアログを表示させずに削除を実行させるにはどうすればいいのでしょうか。 ヘルプを参照して調べましたがどうも分かりません。 詳しい方、アドバイスをお願いします。 Sheets(Array("Sheet2", "Sheet3")).Select ActiveWindow.SelectedSheets.Delete

  • Excelでマクロを消すには

    マクロが組み込まれているExcel2003のファイルがあります。 マクロについて詳しくわからないのですが、複数の伝票シートを一括印刷するボタンがあったり、 チェックボックスに応じてオートシェープや文字が切り替わる機能があります。 この伝票のひな形だけを使いたく、枠や文字だけを新しいシートに値でコピーし、 別名で保存しました。 ボタンやオートシェープはありません。 また、ツール→マクロを選んでも特に何も見当たりませんでした。 しかし、このファイルを開くたびに このファイルにはマクロが…  [マクロを有効にする][マクロを無効にする] というダイアログが表示されてしまいます。 マクロを消すといいますか、このダイアログが表示されないようにする方法がありましたら 教えてください。 よろしくお願いいたします。

  • エクセルのマクロで任意のセルを別Sheetで検索したいのですが?・???

    PC初心者で困っています。 エクセルのマクロでSheet1アクティブセル(1)をコピーし、 Sheet2でCTRL+Fで検索ダイアログに(1)を貼り付け、検索する。 マクロを作ってみましたが、 マクロ実行2回目から上手くいきません。これはモジュールで検索ダイアログで貼り付けるところで””に変えても駄目でしたが? どうするか御存知でしたら教えて頂けませんでしょうか? 宜しくお願いいたします。

  • 検索の方法(エクセル マクロ)

    マクロは記録マクロしかできない超初心者です。 エクセルのsheet1のA1のセルに入っている内容(都度変更)と同一のセルをsheet2で検索し、カーソルをそこに移動させるマクロ記述をしたいのですが、どうなりますか。 記録マクロで、sheet1のA1をコピーし、sheet2に移動して検索窓で貼り付けて「次を検索」とやったのですが、記述をみるとA1の内容がそのまま記述されていて汎用性が無いようです。 よろしくお願いいたします。

  • エクセルのマクロに付いて教えてください。

    エクセルのマクロに付いて教えてください。 コマンドボタンで、A1セルに1と表示されたときにはSheet1へ、A1セルに2と表示されたときにはSheet2へ移動出来るようにしたいのですが、どうしても分かりません。 諸先生方のお知恵を拝借したいです。よろしくお願いします。

  • エクセルの検索マクロ

    以下のようなマクロを作成しようとしているのですが、なかなかうまくいきません。 どなたかご教授お願いいたします。 ・セル(A,2)に入力されている文字を検索ボタンを押すことで検索する  ※検索ボタンはコマンドボタン ・検索対象は、Book内の全シート ・検索後は、見つかったセルに移動 ・見つからなかった場合は、”ありません”を表示

  • エクセルでシートを消すマクロ

    エクセルでシートを消去するマクロが作りたいです。 マクロの記録で作ったものを走らせた場合、「後戻りできません」のダイアログが表示されて動作がそこでストップしてしまいます。 ファイルを閉じるときにある SaveChanges:=False のような文を付け足したいのですが、どう書けばよろしいのでしょう。 すみませんが、どなたかご教授お願い致します。 m(_ _)m

  • エクセルのマクロでのシートの削除について

    エクセルのマクロについて エクセル97でファイルを閉じる前にシートを一つ削除するマクロを流そうとしているのですが、 マクロが流れるとシートを削除するかどうかの確認のダイアログが表示されてしまいます。 この確認のメッセージなしでマクロでシートを削除することは出来ないのでしょうか? ----------------- 実際のプログラム ------------------ Sheets(シート名).Select ActiveWindow.SelectedSheets.Delete わかる方がおられましたら宜しくお願い致します。

  • Excelのマクロについて

    エクセルでマクロを組んで、備品の管理をしたいと思っているのですが以下のことをやるにはどういったマクロを組めばよいでしょうか?何か参考になるサイト等ありましたら教えていただければありがたいです。。。 ・写真をファイルから参照して挿入する(複数枚 ・備品ごとにシートを分けて管理 ・シートの移動はマクロのタブを押すと移動する ・シートは一覧もできる(項目名のみの羅列

このQ&Aのポイント
  • パソコンとプリンターを接続する際に問題が発生しました。試した方法やエラーメッセージを紹介します。
  • プリンターがパソコンから認識されず、印刷できない状況が続いています。プリンタードライバーの再インストールやネットワークの初期化を試しましたが、解決しません。
  • 問題の解決方法についてアドバイスをいただきたいです。パソコンとプリンターを正常に接続するためにはどうすればいいでしょうか?
回答を見る

専門家に質問してみよう