Configure Excel para buscar en todo el libro de forma predeterminada


12

En Microsoft Excel, cuando busco usando CTRL+ F, por defecto solo busca dentro de la hoja de trabajo actual.

¿Cómo puedo configurarlo para buscar en todo el libro de forma predeterminada? Tengo Office 2010. ¿Es esto posible? ¿Es posible configurar esto para un libro u hoja de trabajo específico? Estoy de acuerdo con una edición del registro si eso es lo que se necesita.

Nota: Casi 10 años después, todavía me gustaría hacer esto, pero ahora para Excel 2016/2019.

Respuestas:


3

Puede hacer esto con una macro Workbook_Open en el módulo ThisWorkbook, así:

Private Sub Workbook_Open()

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

End Sub

Esto lo configurará para su sesión para el libro de trabajo en el que se encuentra.

Para que esto sea siempre el predeterminado, debe crear un Libro de macros personal .


1
Prefiero no usar una macro para esto.
Joel Coehoorn

2
@Joel, la configuración probablemente se almacenaría en el archivo .pip para Excel, que es fácil de encontrar, pero está en binario, y no puedo encontrar un editor específico para él (sería un gran proyecto). Probablemente podría obtener un editor hexadecimal estándar y resolverlo, pero sería un proyecto.
Lance Roberts

2

Incluí una modificación para que funcione si su Excel está en español (como el mío)

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. Seleccione el icono Buscar / Seleccionar en la cinta de inicio

  2. Haz clic en Buscar

  3. Haga clic en el cuadro "opciones" en la parte inferior derecha

  4. En el lado izquierdo tiene un menú desplegable que dice: "Dentro"

  5. Seleccione "Hoja" o "Libro de trabajo"

Este sitio explica cómo cambiar el valor predeterminado


1
Esto no funciona, por dos razones. Primero, esta opción no se guarda con cada documento. Abra una hoja de cálculo, realice el cambio, guarde la hoja de cálculo, cierre Excel , vuelva a abrir la hoja de cálculo y vuelva a estar como estaba. En segundo lugar, incluso si se guardó con el documento, tengo que abrir muchos documentos que no se crearon en mi máquina y, por lo tanto, tendrían la configuración (incorrecta) de la máquina original donde se crearon.
Joel Coehoorn

0

Los comandos Sendkeys sugeridos por otras respuestas no se recomiendan. En el pasado, el comando Sendkeys resultó en acciones muy inesperadas, en las que es posible que deba reiniciar la computadora para recuperarse. Recomendaría hacer la rutina local y ejecutarla solo bajo demanda. Para su comodidad, también puede asignarle una tecla cntl como "q". La opción Workbook Within será recordada por el balance de la sesión.

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

0

Tuve un problema similar. Tengo un botón en un libro de trabajo. Si se hace clic en el botón, quiero que Excel abra el diálogo de búsqueda con la opción "buscar dentro de todos los libros de trabajo" ya seleccionada en lugar del predeterminado "dentro de la hoja", pase lo que pase.

Además, quería que el botón funcionara independientemente de las opciones ocultas o mostradas y si alguien realizaba cambios manualmente. Esto es complicado porque Excel por defecto no muestra las opciones al inicio, pero las recuerda y las vuelve a mostrar la próxima vez si alguien las mostró antes.

Para asegurarnos de que las pulsaciones de teclas funcionan, necesitamos una serie de pulsaciones de teclas que establezcan la configuración independientemente del estado inicial. Tomó un poco de retoques, pero encontré uno que funciona.

Aquí está mi código para la versión en inglés de Excel, para otros idiomas, debe cambiar las claves en consecuencia.

 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

Puedes probarlo manualmente:

Presione CTRL + F para el diálogo de búsqueda Presione TAB 15 veces para que pueda aterrizar en "Opciones" o en el menú desplegable "Buscar dentro".

Presione la barra espaciadora y

1) Se muestran las opciones o 2) el menú desplegable se activa y no sucede nada

Presione Alt + T dos veces para restablecer el cursor al cuadro de entrada de búsqueda

Presione TAB dos veces, lo llevará a la búsqueda dentro del menú desplegable, sin importar qué (¡porque los pasos anteriores aseguran que las opciones se muestren de hecho!)

Presione la flecha ABAJO dos veces para seleccionar "Workbook" y ENTER para seleccionar

Presione ALT + T dos veces para restablecer el cursor al cuadro de búsqueda de búsqueda nuevamente.

Espero que esto ayude a alguien más que tiene un problema similar. Muchos de Google solo me dijeron que no es posible preseleccionar "buscar en todos los libros" con VBA, ¡pero de esta manera funciona!

Para que funcione con diferentes idiomas, deberá verificar el idioma y usar CASE para cambiar a la rutina adecuada con los atajos adecuados.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.