Excel をデフォルトでブック全体を検索するように設定する

Excel をデフォルトでブック全体を検索するように設定する

CTRLMicrosoft Excel では、 + を使用して検索するとF、デフォルトでは現在のワークシート内のみ検索されます。

デフォルトでブック全体を検索するように設定するにはどうすればよいですか? ありますOffice 2010。これは可能ですか? 特定のブックまたはワークシートにこれを設定することは可能ですか? 必要な場合はレジストリを編集してもかまいません。

注記:ほぼ 10 年経った今でも、Excel 2016/2019 でこれを実行したいと考えています。

答え1

これは、次のように、ThisWorkbook モジュールの Workbook_Open マクロを使用して実行できます。

Private Sub Workbook_Open()

Application.CommandBars.FindControl(ID:=1849).Execute
SendKeys "%(h){DOWN}{ENTER}{ESC}"

End Sub

これにより、現在作業中のワークブックのセッションに設定されます。

これを常にデフォルトにするには、個人用マクロブック

注: 元の回答からの古い行:SendKeys "%(t)%(h)W~{ESC}"

答え2

Excel がスペイン語の場合(私の Excel のように)も機能するように修正を加えました。

Private Sub Workbook_Open()

Dim lCountryCode As Long
lCountryCode = Application.International(xlCountryCode)

Application.CommandBars.FindControl(ID:=1849).Execute

Select Case lCountryCode
Case 34 'spanish
    SendKeys "%(p)%(D)L~{ESC}"
Case Else 'default english
    SendKeys "%(t)%(h)W~{ESC}"
End Select


End Sub

答え3

  1. ホームリボンの検索/選択アイコンを選択します

  2. 検索をクリック

  3. 右下の「オプション」ボックスをクリックします

  4. 左側には「範囲内」と書かれたドロップダウンがあります

  5. 「シート」または「ワークブック」を選択します

これサイトではデフォルトを変更する方法を説明しています

答え4

私も同様の問題を抱えていました。ワークブックにボタンがあります。ボタンがクリックされると、Excel で検索ダイアログが開き、デフォルトの「シート内」ではなく「すべてのワークブック内を検索」オプションが既に選択されている状態になるようにしたいのです。

さらに、オプションが非表示か表示されているか、誰かが手動で変更したかどうかに関係なく、ボタンが機能するようにしたかったのです。Excel はデフォルトでは起動時にオプションを表示しませんが、誰かが以前にオプションを表示した場合はそれを記憶して次回に再度表示するので、これは難しい作業です。

キーストロークが確実に機能するには、初期状態に関係なく設定を行う一連のキーストロークが必要です。かなり調整が必要でしたが、機能するものを見つけました。

これは Excel の英語版のコードです。他の言語の場合は、それに応じてキーを変更する必要があります。

 Sub Commanbutton_Click()

      Cells(1, 1).Select

       SendKeys "^f", True
       SendKeys "{TAB 15}"
       SendKeys " ", True
       SendKeys "%t%t", True
       SendKeys "{TAB 2}", True
       SendKeys "{DOWN}{DOWN}{ENTER}", True
       SendKeys "%t%t", True

  End Sub

手動で試してみることもできます:

検索ダイアログを表示するには、Ctrl + F キーを押します。Tab キーを 15 回押して、「オプション」または「検索範囲」ドロップダウンに移動します。

スペースを押して、

1) オプションが表示される、または 2) ドロップダウンがアクティブになっても何も起こらない

Alt+Tを2回押すと、カーソルが検索入力ボックスにリセットされます。

TAB キーを 2 回押すと、何があってもドロップダウン内の検索に移動します (前の手順でオプションが実際に表示されるようにするため)。

下矢印を2回押して「ワークブック」を選択し、ENTERを押して選択します。

ALT+T を 2 回押すと、カーソルが検索入力ボックスに再度リセットされます。

これが、同様の問題を抱えている他の誰かの役に立つことを願っています。Google でいろいろ調べた結果、VBA で「すべてのワークブック内を検索」を事前に選択することはできないとわかりましたが、この方法は機能します。

異なる言語で動作させるには、言語を確認し、CASE を使用して適切なショートカットで適切なルーチンに切り替える必要があります。

関連情報