
Como se puede hacer una formula de un buscar V que no solo busque en una hoja de excel sino en el libro en general es decir en todas las hojas del archivo buscando el valor a encontrar eso se puede hacer??? porfa ayuda.

|
|
#1 (permalink) |
![]() Fecha de Ingreso: julio-2008
Mensajes: 1
|
![]() Como se puede hacer una formula de un buscar V que no solo busque en una hoja de excel sino en el libro en general es decir en todas las hojas del archivo buscando el valor a encontrar eso se puede hacer??? porfa ayuda. ![]() |
|
|
|
|
|
#2 (permalink) |
|
Colaborador
![]() ![]() ![]() Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 5.510
|
Puedes hacerlo con una macro que recorra cada hoja del libro (bucle For) y ejecute el BUSCARV en ella...
__________________
"En la vida muchas veces tenemos que ser aprendices, y muchas veces maestros" P.S.: Pregunta siempre en el foro correcto. |
|
|
|
|
|
#3 (permalink) |
![]() |
Respuesta: Buscar V avanzado
Hola! MONIFER.
a) Mientras mantienes presionada la tecla Alt, presiona la techa F8. b) En Nombre de la Macro introduce: Prueba c) Te aparecerá el siguiente texto:
Código:
que reemplazarás totalmente por este otro:Sub Prueba() End Sub
Código:
d) Cierra todas las ventanas del ambiente Visual Basic for Application en el que te encuentras y retorna al Excel.Sub BuscarTextoEnLibro()
Dim MiWord As String, FirstFind As String, MiMsg As String
Dim MiCell As Range, MiRangoActivo As String
MiWord = InputBox("Ingrese texto a buscar"): If MiWord = "" Then Exit Sub
MiRangoActivo = Selection.Address(External:=True)
For Each MiSheet In ActiveWorkbook.Sheets
FirstFind = ""
Do
If FirstFind = "" Then
Set MiCell = MiSheet.Cells.Find(What:=MiWord, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False)
If MiCell Is Nothing Then GoTo S02
FirstFind = MiCell.Address
Else
Set MiCell = MiSheet.Cells.FindNext(MiCell)
If MiCell.Address = FirstFind Then GoTo S02
End If
Application.Goto MiCell
MiMsg = "Se encuentra en la hoja """ & ActiveSheet.Name & """." & _
Chr(10) & Chr(10) & "¿ Desea continuar ?"
If MsgBox(MiMsg, vbYesNo, "Buscando el texto: """ & MiWord & """") = 7 Then
Set MiCell = Nothing
Exit Sub
End If
Loop
S02:
Next MiSheet
Application.Goto Range(MiRangoActivo)
Set MiCell = Nothing
End Sub
e) Asigna un botón para la macro recién incorporada: BuscarTextoEnLibro. Espero que te sea útil. ![]() Última edición por mrocf; 25-sep-2008 a las 12:28. Razón: depuración |
|
|
|
|
|
#4 (permalink) |
![]() |
Respuesta: Buscar V avanzado
que bien. Eso lo tengo que probar parece ser muy util
![]()
__________________
« --- WwW.Mi-MuSiKa.CoM --- » |
|
|
|
|
|
#6 (permalink) |
![]() Fecha de Ingreso: septiembre-2008
Mensajes: 10
|
Respuesta: Buscar V avanzado
Muy buenas. Primero de todo saludar es mi primera entradita aqui.
En este tema tengo un problema. La rutina suelta me da fallos. Al ejecutarla en mi hoja me dice: Se ha producido el error 91 en tiempo de ejecucion Variable de objeto o bloque With no establecido y en el visual se me para en la sentencia If MiCell.Address = FirstFind Then que puede estar pasando? veo que este hilo es de hace mas de un año, a ver si tengo suerte. Por cierto cuando funciona, literalmente "Te quedas con la peña" Gracias |
|
|
|
|
|
#8 (permalink) |
![]() Fecha de Ingreso: septiembre-2008
Mensajes: 10
|
Respuesta: Buscar V avanzado
holaaaaaaaa
Oye gracias por contestar. Ya me han arreglado el problema en otro foro, de esta pagina. Suelta era uan forma de hablar, que si hago una prueba con 4 datos funciona, pero en una hoja grande me falla, aunque borre todas las demas macros. Pero veo que me explique mal, sorry. Quedarte con la peña, se usa aqui en España, cuando la gente lo ve y dice "coño" que chulo, y es que he hecho una hoja que ayuda a mucha gente a currar poco, y eso siempre es de agradecer. jajajajaja Gracias |
|
|
|