Excel - Función para buscar multiples coincidencias

 
Vista:
sin imagen de perfil

Función para buscar multiples coincidencias

Publicado por Mikel (2 intervenciones) el 17/10/2014 11:12:38
Buenos días,

Soy principiante en esto de programar macros y no se que función emplear para buscar todas las coincidencias. Es decir, tengo una hoja excel en la que tengo varios datos. En una de las columnas indico el estado de cada acción (las opciones de la lista desplegable son Pendiente, Realizadad, NoRealizada y sin rellenar). Pues bien, quiero crear una macro que me chequee toda la columna de "estado", y cada vez que encuentre "pendiente" guarde el número de la fila donde esta situado. por ejemplo, si encuentra "pendiente" en la celda F5, quiero que saque el valor 5 para seguidamente sacar un mensaje que indique "la acción"& Range(C5) & "está pendiente". Como programar el cuadro de mensaje creo que lo se, pero no con que función buscar todos los valores coincidentes de la columna, ya que con BuscaV solo muestra el primer valor, y este debería estar en la primera columna de la matriz de busqueda, y en mi caso entiendo que debería buscar en la última columna ya que quiero que posteriormente me saque el valor de la columna C que está a la izquiera de F.

Espero haberme explicado bien, y agradezco muchisimo vuestro tiempo y ayuda de antemano

un saludo

P.D.: situare un boton para arrancar la macro en la hoja1 que muestre todas las acciones pendientes al hacer click (puede ser un mensaje por cada pendiente o todas las acciones pendientes en un mensaje)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JuanC

Función para buscar multiples coincidencias

Publicado por JuanC (1237 intervenciones) el 17/10/2014 15:51:01
una manera es usando los métodos Find y FindNext de Range, busca en la ayuda de VBA que hay un ejemplo sencillo...
también podrías usar un bucle For Each ... In ... Next

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Función para buscar multiples coincidencias

Publicado por Mikelete (2 intervenciones) el 20/10/2014 09:17:29
Buenos días JuanC,

Lo primero agradecerte tu ayuda, pues siendo novato en la programación VBA un poco de ayuda es un gran empujón. He intentado hacer un programilla y lo adjunto en el ejemplo para mostrar la hoja excel con la que trabajo.


Public Sub BuscarPendientes()

With Worksheets("ANALISIS .01.02").Range("Y;Y")

Set c = .Find(Pendiente, Y11, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
' Aqui es donde debería mostrar el mensaje de pendiente, para ello :
MsgBox "La acción" & Llamada a la celda de la misma fila, pero columna V & "está pendiente"

Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If

End With

End Sub


Private Sub cmdBuscarPendientes_Click()
BuscarPendientes
End Sub

Tengo varias dudas:
-El comando LookIn indica el tipo de información que estoy buscando que en mi caso sería texto, ¿como indico que es texto?.
-El bucle de IfNot entinedo que es para que cuando vuelva a la primera celda que a comprobado (la Y11 en mi caso) deje de buscar y termine.
-Do: en mi caso lo que tiene que hacer el programa es mostrar un mensaje indicando que la acción está pendiente, para lo que mostraria un cuadro de mensaje. ¿como accedo a la celda de la misma fila donde ha encontrado el "pendiente", columna V? (tres columnas antes del pendiente)
Seguro que me surgen más dudas, pero creo que solucionar estas me ayudaría mucho para avanzar. Gracias de antemano y perdonar si hay alguna metedura de pata, ya que es mi primera macro y seguro que se puede mejorar, con tiempo espero que así sea.

un saludo

P.D.: a la tarde adjuntare el archivo ya que ahora mismo no me lo permite.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar