Stellen Sie Excel so ein, dass standardmäßig in der gesamten Arbeitsmappe gesucht wird

12

Wenn ich in Microsoft Excel mit CTRL+ suche F, wird standardmäßig nur im aktuellen Arbeitsblatt gesucht .

Wie kann ich festlegen, dass standardmäßig in der gesamten Arbeitsmappe gesucht wird? Ich habe Office 2010. Ist das überhaupt möglich? Ist es möglich, dies für eine bestimmte Arbeitsmappe oder ein bestimmtes Arbeitsblatt festzulegen? Ich bin mit einer Registrierung einverstanden, wenn es das ist, was es braucht.

Hinweis: Fast 10 Jahre später möchte ich dies immer noch tun, jetzt jedoch für Excel 2016/2019.

Joel Coehoorn
quelle

Antworten:

3

Sie können dies mit einem Workbook_Open-Makro im ThisWorkbook-Modul wie folgt tun:

Private Sub Workbook_Open()

Application.CommandBars.FindControl(ID:=1849).Execute
SendKeys "%(t)%(h)W~{ESC}"

End Sub

Dadurch wird es für Ihre Sitzung für die Arbeitsmappe festgelegt, in der Sie sich befinden.

Damit dies immer die Standardeinstellung ist, müssen Sie eine persönliche Makro-Arbeitsmappe erstellen .

Lance Roberts
quelle
1
Ich würde dafür lieber kein Makro verwenden.
Joel Coehoorn
2
@Joel, die Einstellungen würden höchstwahrscheinlich in der .pip-Datei für Excel gespeichert, die leicht zu finden ist, aber binär ist, und ich kann keinen bestimmten Editor dafür finden (das wäre ein großartiges Projekt). Sie könnten wahrscheinlich einen Standard-Hex-Editor bekommen und ihn ausarbeiten, aber es wäre ein Projekt.
Lance Roberts
2

Ich habe eine Änderung hinzugefügt, damit es funktioniert, wenn Ihr Excel auf Spanisch ist (wie meins).

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
erik
quelle
0
  1. Wählen Sie das Symbol Suchen / Auswählen in der Startleiste

  2. Klicken Sie auf Suchen

  3. Klicken Sie unten rechts auf das Feld "Optionen"

  4. Auf der linken Seite befindet sich eine Dropdown-Liste mit der Aufschrift "Innerhalb".

  5. Wählen Sie "Blatt" oder "Arbeitsmappe"

Auf dieser Website wird erläutert, wie Sie die Standardeinstellungen ändern

MCC
quelle
1
Dies funktioniert aus zwei Gründen nicht. Erstens wird diese Option nicht bei jedem Dokument gespeichert. Öffnen Sie eine Tabelle, nehmen Sie die Änderung vor, speichern Sie die Tabelle, schließen Sie Excel , öffnen Sie die Tabelle erneut und es ist wieder so, wie es war. Zweitens muss ich, selbst wenn es mit dem Dokument gespeichert wurde, viele Dokumente öffnen, die nicht auf meinem Computer erstellt wurden, und hätte daher die (falsche) Einstellung des ursprünglichen Computers, auf dem sie erstellt wurden.
Joel Coehoorn
0

Sendkeys-Befehle, wie sie in anderen Antworten vorgeschlagen werden, werden nicht empfohlen. In der Vergangenheit führte der Befehl Sendkeys zu sehr unerwarteten Aktionen, bei denen Sie möglicherweise den Computer neu starten müssen, um ihn wiederherzustellen. Ich würde empfehlen, die Routine lokal zu machen und sie nur bei Bedarf auszuführen. Der Einfachheit halber können Sie ihm auch eine cntl-Taste wie "q" zuweisen. Die Option Arbeitsmappe innerhalb wird für den Ausgleich der Sitzung gespeichert.

Sub myFind()
  Application.CommandBars.FindControl(ID:=1849).Execute
  SendKeys "%(t)%(h)W~+{Tab}+{Tab}"
End Sub
user314256
quelle
0

Ich hatte ein ähnliches Problem. Ich habe eine Schaltfläche in einer Arbeitsmappe. Wenn auf die Schaltfläche geklickt wird, soll Excel den Suchdialog mit der Option "In allen Arbeitsmappen suchen" öffnen, die bereits ausgewählt ist, anstelle der Standardeinstellung "Innerhalb eines Blattes", egal was passiert.

Außerdem wollte ich, dass die Schaltfläche unabhängig von den Optionen funktioniert, die ausgeblendet oder angezeigt werden, und ob jemand manuell Änderungen vorgenommen hat oder nicht. Dies ist schwierig, da Excel die Optionen beim Start standardmäßig nicht anzeigt, sondern sie beim nächsten Mal speichert und erneut anzeigt, wenn sie zuvor von jemandem angezeigt wurden.

Um sicherzustellen, dass die Tastenanschläge funktionieren, benötigen wir eine Reihe von Tastenanschlägen, mit denen die Einstellung unabhängig vom Ausgangszustand festgelegt wird. Ich habe ziemlich viel gebastelt, aber ich habe einen gefunden, der funktioniert.

Hier ist mein Code für die englische Version von Excel. Für andere Sprachen müssen Sie die Schlüssel entsprechend ändern.

 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

Sie können es manuell ausprobieren:

Drücken Sie STRG + F für den Suchdialog. Drücken Sie 15 Mal die Tabulatortaste, damit Sie entweder auf "Optionen" oder in der Dropdown-Liste "Suchen innerhalb" landen.

Drücken Sie die Leertaste und entweder

1) Optionen werden angezeigt oder 2) das Dropdown wird aktiviert und nichts passiert

Drücken Sie zweimal Alt + T, um den Cursor auf das Eingabefeld Suchen zurückzusetzen

Drücken Sie zweimal die Tabulatortaste, um zur Suche innerhalb der Dropdown-Liste zu gelangen, unabhängig davon, was passiert (da die vorherigen Schritte sicherstellen, dass die Optionen tatsächlich angezeigt werden!).

Drücken Sie zweimal den Abwärtspfeil, um "Arbeitsmappe" auszuwählen, und ENTER, um auszuwählen

Drücken Sie zweimal ALT + T, um den Cursor erneut auf das Suchfeld zurückzusetzen.

Hoffe, das hilft jemand anderem, der ein ähnliches Problem hat. Viele Googler sagten mir nur, dass es nicht möglich ist, "Suche in allen Arbeitsmappen" mit VBA vorauszuwählen, aber so funktioniert es!

Damit es mit verschiedenen Sprachen funktioniert, müssen Sie nach der Sprache suchen und mit CASE zur richtigen Routine mit den richtigen Verknüpfungen wechseln.

Malo
quelle