Cómo buscar en todas las hojas de un libro

Id. de artículo: 550756 - Ver los productos a los que se aplica este artículo
Este artículo se publicó anteriormente con el número E10706
Expandir todo | Contraer todo

Resumen



En Microsoft Excel, puede buscar en una hoja individual seleccionando
el comando Buscar en el menú Edición. Sin embargo, si quiere buscar en
todas las hojas del libro de trabajo de forma conjunta, debe utilizar
una macro de Visual Basic para Aplicaciones (VBA). Este artículo
incluye un procedimiento de ejemplo para realizar esta tarea. Una
alternativa si no desea usar VBA es agrupar las hojas antes de iniciar
la búsqueda.

Más información



PRECAUCIaN: CUALQUIER UTILIZACIaN POR SU PARTE DEL CaDIGO INCLUIDO EN
ESTE ART+CULO SE HAR¦ A SU CUENTA Y RIESGO. Microsoft facilita este
código "tal cual" sin garantía de ningún tipo, ya sea explícita o
implícita, incluyendo expresamente en tal exención de responsabilidad
y, a efectos meramente enunciativos y no limitativos, las garantías
legales mercantiles implícitas y/o la adecuación a un propósito o
finalidad en particular.

Sub EncontrarDato()

' Esta macro le pide un valor para buscarlo en cada hoja del libro.
' Si encuentra el valor buscado, la rutina pregunta si desea
' continuar la búsqueda.
' Si no encuentra el valor en la hoja, continúa buscando en la
' siguiente hoja.
' Puede cancelar la búsqueda respondiendo que no a la pregunta
' "¿Desea buscar otro valor?: ?" y respondiendo Sí a cancelar la
' búsqueda.


testValue = InputBox("Introduzca el valor a buscar : ")
For x = 1 To ActiveWorkbook.Worksheets.Count
Worksheets(x).Select
Set foundcell = ActiveSheet.Cells.Find(testValue)
If foundcell Is Nothing Then
MsgBox "No se encontró el valor"
Else
MsgBox "El valor se encontró en la celda" & foundcell.Address
Range(foundcell.Address).Select

LookAgain:
response = MsgBox("¿ Desea buscar otro valor en esta hoja?",_
vbYesNo)

' Si response = 6, entonces no continuará buscando en esta
' hoja

If response = 6 Then
Set foundcell = ActiveSheet.Cells.FindNext(after:=ActiveCell)
If foundcell Is Nothing Then
MsgBox "No se encontró el valor"
Else
MsgBox "El valor se encontró en la celda" & foundcell.Address
Range(foundcell.Address).Select
GoTo LookAgain
End If
End If

If response = 7 Then
response = MsgBox("¿ Desea terminar la búsqueda ? ", vbYesNo)
If response = 6 Then End
GoTo NextSheet
End If
End If

NextSheet:
Next x
MsgBox "La búsqueda ha finalizado"

End Sub

Propiedades

Id. de artículo: 550756 - Última revisión: jueves, 21 de abril de 2005 - Versión: 1.1
La información de este artículo se refiere a:
  • Microsoft Excel 5.0 Standard Edition
  • Microsoft Excel 5.0 Standard Edition
  • Microsoft Excel 5.0 para Macintosh
  • Microsoft Excel 5.0 para Macintosh
  • Microsoft Excel 95 Standard Edition
Palabras clave: 
5.0 7.0 97 macro search value KB550756
Renuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com