Ustaw program Excel, aby domyślnie wyszukiwał w całym skoroszycie

11

W programie Microsoft Excel, gdy wyszukuję za pomocą CTRL+ F, domyślnie wyszukuje tylko w bieżącym arkuszu.

Jak mogę ustawić domyślnie wyszukiwanie w całym skoroszycie? Mam Office 2010. Czy to w ogóle możliwe? Czy można to ustawić dla określonego skoroszytu lub arkusza? Nie mam nic przeciwko edycji rejestru, jeśli to wystarczy.

Joel Coehoorn
źródło

Odpowiedzi:

3

Możesz to zrobić za pomocą makra Workbook_Open w module ThisWorkbook, na przykład:

Private Sub Workbook_Open()

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

End Sub

Spowoduje to ustawienie tej sesji dla skoroszytu, w którym się znajdujesz.

Aby zawsze było to ustawienie domyślne, musisz utworzyć osobisty skoroszyt makr .

Lance Roberts
źródło
1
Wolę do tego nie używać makra.
Joel Coehoorn
2
@Joel, ustawienia najprawdopodobniej byłyby zapisane w pliku .pip dla programu Excel, który jest łatwy do znalezienia, ale jest w formacie binarnym i nie mogę znaleźć dla niego konkretnego edytora (to byłby świetny projekt). Prawdopodobnie mógłbyś dostać standardowy edytor szesnastkowy i go opracować, ale byłby to projekt.
Lance Roberts,
2

Zawarłem modyfikację, aby działała, jeśli Twój Excel jest w języku hiszpańskim (jak mój)

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
źródło
0
  1. Wybierz ikonę Znajdź / Wybierz na Wstążce domowej

  2. Kliknij Znajdź

  3. Kliknij pole „Opcje” w prawym dolnym rogu

  4. Po lewej stronie znajduje się menu rozwijane o treści „Wewnątrz”

  5. Wybierz „Arkusz” lub „Skoroszyt”

Ta strona wyjaśnia, jak zmienić wartość domyślną

MCK
źródło
1
To nie działa z dwóch powodów. Po pierwsze, ta opcja nie jest zapisywana z każdym dokumentem. Otwórz arkusz kalkulacyjny, wprowadź zmiany, zapisz arkusz kalkulacyjny, zamknij program Excel , ponownie otwórz arkusz kalkulacyjny i wróci do poprzedniego stanu. Po drugie, nawet jeśli zapisało się to z dokumentem, muszę otworzyć wiele dokumentów, które nie zostały utworzone na moim komputerze, a zatem miałyby (nieprawidłowe) ustawienie z oryginalnego komputera, na którym zostały utworzone.
Joel Coehoorn,
0

Polecenia Sendkeys, jak sugerują inne odpowiedzi, nie są zachęcane. W przeszłości polecenie Sendkeys powodowało bardzo nieoczekiwane działania, w których konieczne może być ponowne uruchomienie komputera w celu odzyskania. Poleciłbym uczynić procedurę lokalną i wykonać ją tylko na żądanie. Dla wygody możesz także przypisać do niego klawisz cntl, np. „Q”. Opcja Zeszytu ćwiczeń zostanie zapamiętana dla równowagi sesji.

Sub myFind()
  Application.CommandBars.FindControl(ID:=1849).Execute
  SendKeys "%(t)%(h)W~+{Tab}+{Tab}"
End Sub
użytkownik314256
źródło
0

Miałem podobny problem. Mam przycisk w skoroszycie. Jeśli przycisk zostanie kliknięty, chcę, aby program Excel otworzył okno wyszukiwania z opcją „szukaj we wszystkich skoroszytach” już wybraną zamiast domyślnej „w arkuszu”, bez względu na wszystko.

Ponadto chciałem, aby przycisk działał bez względu na ukryte lub pokazywane opcje i czy ktoś nie wprowadził zmian ręcznie. Jest to trudne, ponieważ Excel domyślnie nie wyświetla opcji przy starcie, ale pamięta i pokazuje je ponownie następnym razem, jeśli ktoś wyświetlił je wcześniej.

Aby upewnić się, że naciśnięcia klawiszy działają, potrzebujemy serii naciśnięć klawiszy, które ustawiają ustawienia niezależnie od stanu początkowego. Zajęło mi się trochę majsterkowania, ale znalazłem taki, który działa.

Oto mój kod dla angielskiej wersji programu Excel, w przypadku innych języków musisz odpowiednio zmienić klucze.

 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

Możesz to wypróbować ręcznie:

Naciśnij klawisze CTRL + F, aby otworzyć okno wyszukiwania. Naciśnij klawisz TAB 15 razy, aby przejść do menu „Opcje” lub menu „Szukaj w”.

Naciśnij spację i albo

1) Wyświetlane są opcje lub 2) menu aktywowane i nic się nie dzieje

Naciśnij dwukrotnie Alt + T, aby zresetować kursor do pola wprowadzania wyszukiwania

Naciśnij dwa razy TAB, przejdziesz do wyszukiwania w menu rozwijanym, bez względu na wszystko (ponieważ poprzednie kroki zapewniają, że opcje są faktycznie wyświetlane!)

Naciśnij strzałkę W DÓŁ dwa razy, aby wybrać „Skoroszyt” i ENTER, aby wybrać

Naciśnij dwa razy klawisze ALT + T, aby ponownie ustawić kursor w polu wprowadzania wyszukiwania.

Mam nadzieję, że pomoże to komuś, kto ma podobny problem. Wielu Googlingów powiedziało mi tylko, że nie można wstępnie wybrać „wyszukiwania we wszystkich skoroszytach” za pomocą VBA, ale ten sposób działa!

Aby działał z różnymi językami, musisz sprawdzić ten język i użyć CASE, aby przejść do odpowiedniej procedury z odpowiednimi skrótami.

Malo
źródło