Foros del Web » Soporte técnico » Ofimática »

Buscar V avanzado

Estas en el tema de Buscar V avanzado en el foro de Ofimática en Foros del Web. Hola sera que me pueden ayudar por favor. Como se puede hacer una formula de un buscar V que no solo busque en una hoja ...
  #1 (permalink)  
Antiguo 10/07/2008, 15:00
 
Fecha de Ingreso: julio-2008
Mensajes: 1
Antigüedad: 15 años, 9 meses
Puntos: 0
Sonrisa Buscar V avanzado

Hola sera que me pueden ayudar por favor.

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)  
Antiguo 10/07/2008, 15:05
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Buscar V avanzado

Puedes hacerlo con una macro que recorra cada hoja del libro (bucle For) y ejecute el BUSCARV en ella...
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 19/07/2008, 14:49
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 1 mes
Puntos: 88
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:
Sub Prueba()

End Sub
que reemplazarás totalmente por este otro:

Código:
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
d) Cierra todas las ventanas del ambiente Visual Basic for Application en el que te encuentras y retorna al Excel.

e) Asigna un botón para la macro recién incorporada: BuscarTextoEnLibro.

Espero que te sea útil.



Última edición por mrocf; 25/09/2008 a las 12:28 Razón: depuración
  #4 (permalink)  
Antiguo 26/07/2008, 09:07
Avatar de JMS
JMS
 
Fecha de Ingreso: junio-2007
Ubicación: Mexico, veracruz
Mensajes: 790
Antigüedad: 16 años, 10 meses
Puntos: 44
Respuesta: Buscar V avanzado

que bien. Eso lo tengo que probar parece ser muy util
__________________
L.I.A. Josué Marín Saldaña
Grupo kumiko - Diseño gráfico, diseño web, Poemas, Juegos.
http://www.grupokumiko.com
  #5 (permalink)  
Antiguo 26/07/2008, 17:31
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 1 mes
Puntos: 88
Respuesta: Buscar V avanzado

No olvides comentar tu experiencia para mejor la propuesta.
  #6 (permalink)  
Antiguo 25/09/2008, 11:59
 
Fecha de Ingreso: septiembre-2008
Mensajes: 10
Antigüedad: 15 años, 7 meses
Puntos: 0
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
  #7 (permalink)  
Antiguo 25/09/2008, 12:27
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 1 mes
Puntos: 88
De acuerdo Respuesta: Buscar V avanzado

Hola! Guillermo.
¿ Qué significa: - "... La rutina suelta ..." ?

¿ Y qué significa: - "... Te quedas con la peña ... "

Saludos, Cacho.
  #8 (permalink)  
Antiguo 25/09/2008, 14:22
 
Fecha de Ingreso: septiembre-2008
Mensajes: 10
Antigüedad: 15 años, 7 meses
Puntos: 0
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
  #9 (permalink)  
Antiguo 25/09/2008, 15:09
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 1 mes
Puntos: 88
De acuerdo Respuesta: Buscar V avanzado

Ahhhhh.... OK... Ja ja ja

Para la próxima pregunta no te olvides de incluir un enlace con el Diccionario de Regionalismos !!!
Te mando un saludo desde Buenos Aires, Cacho.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:52.