Combinar si buscarv en una macro

Tengo lo siguiente y funciona perfecto pero lo quiero en una macro SI(L4>MAX(BUSCARV(L2, K25:Q27, 3,0), BUSCARV(L2, K25:Q27, 7,0))-BUSCARV(L2, K25:Q27, 4,0),"Necesita incrementarLinea de cliente","")

el cual se basa en esta formula=Max (cl_limcr, cl_limso)-cl_saac

El valor a buscar esta en L4

El rango de busqueda es (k25:Q27)

Las columnas que necesito tomar son 3,7,4

Pensé hacerlo de la siguiente manera pero no me funciona

Dim lookupvalue As Variant, value As Variant, lookupRange As Range
value = Range("L2").value
Set lookupRange = Range("K26:Q28") 'rango donde buscar
lookupvalue = Max(Application.VLookup(value, lookupRange, 3, False), Application.VLookup(value, lookupRange, 7, False)) - Application.VLookup(value, lookupRange, 4, False)

 Range("L4") = lookupvalue.value

2 respuestas

Respuesta
1

Podrías enviarme tu archivo, de igual forma que la anterior, explícame con ejemplos lo que tienes y lo que esperas de resultado.

No olvides poner tu nombre de usuario "patriciagd"

Saludos. Dante Amor

Te anexo la macro con la explicación, es una forma diferente de hacerlo, pero es más fácil de explicar.

Sub LimiteCliente()
'Por.Dante Amor
    [Q4] = ""
    'se busca el contrato en el rango "K25:Q28"
    Set b = Range("K25:K28").Find([L2], lookat:=xlWhole)
    If Not b Is Nothing Then
        '
        'Si lo encuentra
        'obtiene el valor máximo de cl_limcr y cl_limso
        wmax = Application.Max(Cells(b.Row, "M"), Cells(b.Row, "Q"))
        '
        'obtiene el valor de cl_saac
        cl_saac = Cells(b.Row, "N")
        '
        'obtiene el resultado de restar el valor máximo menos cl_saac
        wres = wmx - cl_saac
        '
        ' Si el valor nominal es mayor que la resta
        If [L4] > wres Then
            'Escribe el mensaje
           [Q4] = "Necesita incrementarLinea de cliente"
        End If
    End If
End Sub

Saludos.Dante Amor

¡Gracias! 

te agradezco mucho tu tiempo  y paciencia para ayudarme

Lo hago con mucho gusto!

Si tienes cualquier duda avísame.

Respuesta
1

Cuando se tiene una fórmula en hoja, se puede obtener su versión en VBA con la grabadora de macros.

Seleccionar la celda donde tengas tu fórmula. Encender la grabadora, colocar el cursor en la barra de fórmulas, dar Enter y detener la grabadora.

Ahora en un modulo del Editor encontraras la instrucción.

Si necesita de algún ajuste dejala escrita aquí comentando lo que quieras agregarle.

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas