Setel Excel untuk mencari di dalam seluruh buku kerja secara default


12

Di Microsoft Excel, ketika saya mencari menggunakan CTRL+ F, secara default hanya mencari dalam lembar kerja saat ini.

Bagaimana saya bisa mengaturnya untuk mencari di dalam seluruh buku kerja secara default? Saya punya Office 2010. Apakah ini mungkin? Apakah mungkin untuk mengatur ini untuk buku kerja atau lembar kerja tertentu? Saya baik-baik saja dengan mengedit registri jika itu yang diperlukan.

Catatan: Hampir 10 tahun kemudian, saya masih ingin melakukan ini, tetapi sekarang untuk Excel 2016/2019.

Jawaban:


3

Anda bisa melakukan ini dengan makro Workbook_Open di modul ThisWorkbook, seperti:

Private Sub Workbook_Open()

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

End Sub

Ini akan mengaturnya untuk sesi Anda untuk buku kerja tempat Anda berada.

Agar ini selalu menjadi default, Anda perlu membuat Buku Kerja Makro Pribadi .


1
Saya lebih suka tidak menggunakan makro untuk ini.
Joel Coehoorn

2
@ Joel, pengaturan kemungkinan besar akan disimpan dalam file .pip untuk Excel, yang mudah ditemukan, tetapi dalam biner, dan saya tidak dapat menemukan editor khusus untuk itu (itu akan menjadi proyek yang hebat). Anda mungkin bisa mendapatkan hex editor standar dan menyelesaikannya, tetapi itu akan menjadi proyek.
Lance Roberts

2

Saya menyertakan modifikasi sehingga akan berfungsi jika Excel Anda dalam bahasa Spanyol (seperti milik saya)

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

0
  1. Pilih ikon Temukan / Pilih di Pita Beranda

  2. Klik Temukan

  3. Klik kotak "opsi" di kanan bawah

  4. Di sisi kiri memiliki dropdown yang bertuliskan, "Dalam"

  5. Pilih "Lembar" atau "Buku Kerja"

Situs ini menjelaskan cara mengubah default


1
Ini tidak berhasil, karena dua alasan. Pertama, opsi ini tidak disimpan dengan setiap dokumen. Buka spreadsheet, buat perubahan, simpan spreadsheet, tutup Excel , buka kembali spreadsheet, dan kembali seperti semula. Kedua, bahkan jika itu menghemat dengan dokumen, saya harus membuka banyak dokumen yang tidak dibuat di mesin saya, dan karena itu akan memiliki pengaturan (salah) dari mesin asli tempat mereka dibuat.
Joel Coehoorn

0

Perintah sendkeys seperti yang disarankan oleh jawaban lain tidak dianjurkan. Pada perintah Sendkeys sebelumnya menghasilkan tindakan yang sangat tidak terduga, ke tempat Anda mungkin harus me-reboot komputer untuk memulihkan. Saya akan merekomendasikan membuat rutin lokal dan hanya menjalankannya sesuai permintaan. Untuk kenyamanan Anda juga dapat menetapkan kunci cntl untuk itu seperti "q". Opsi Buku Kerja Dalam akan diingat untuk keseimbangan sesi.

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

0

Saya punya masalah serupa. Saya memiliki tombol di buku kerja. Jika tombol diklik, saya ingin excel untuk membuka dialog temukan dengan opsi "cari di dalam semua buku kerja" yang sudah dipilih alih-alih dari standar "di dalam lembar", apa pun yang terjadi.

Selain itu saya ingin tombol berfungsi terlepas dari opsi yang disembunyikan atau ditampilkan dan apakah seseorang membuat perubahan secara manual. Ini rumit karena Excel per default tidak menunjukkan opsi saat memulai tetapi mengingat dan menampilkannya lagi di lain waktu jika seseorang menampilkannya sebelumnya.

Untuk memastikan penekanan tombol berfungsi, kami membutuhkan serangkaian penekanan tombol yang menetapkan pengaturan terlepas dari kondisi awal. Butuh sedikit mengutak-atik, tapi saya menemukan satu yang berfungsi.

Ini kode saya untuk versi bahasa Inggris dari Excel, untuk bahasa lain Anda harus mengubah kunci yang sesuai.

 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

Anda dapat mencobanya secara manual:

Tekan CTRL + F untuk dialog temukan. Tekan TAB 15 kali sehingga Anda bisa masuk ke menu "Opsi" atau pada menu tarik-turun "Cari di dalam".

Tekan spasi dan salah satunya

1) Opsi ditampilkan atau 2) dropdown diaktifkan dan tidak ada yang terjadi

Tekan Alt + T dua kali untuk mengatur ulang kursor ke kotak input find

Tekan TAB dua kali, itu akan membawa Anda ke pencarian dalam dropdown, tidak peduli apa (karena langkah sebelumnya memastikan bahwa opsi sebenarnya ditampilkan!)

Tekan panah BAWAH dua kali untuk memilih "Buku Kerja" dan ENTER untuk memilih

Tekan ALT + T dua kali untuk mengatur ulang kursor ke kotak input find lagi.

Semoga ini bisa membantu orang lain yang memiliki masalah serupa. Banyak Googling hanya memberi tahu saya bahwa tidak mungkin untuk memilih kembali "pencarian di dalam semua buku kerja" dengan VBA tetapi cara ini berhasil!

Untuk membuatnya bekerja dengan berbagai bahasa, Anda perlu memeriksa bahasa dan menggunakan CASE untuk beralih ke rutin yang tepat dengan cara pintas yang tepat.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.