Macro que al escribir en columna M de h1 el contenido lo compare con la columna A de h3 si lo encuentra copie B de h3 en N de h1

A tod@s  me gustaría saber que método puedo utilizar para que al escribir

En alguna celda de la columna M en la hoja 1 el contenido de esta se compare con las celdas de la columna A de la hoja 3 y si lo encuentra copie el contenido de la columna B de la fila donde se encontró y lo copie en la columna N de la fila que se escribió el dato que se comparo al principio, de no encontrarlo colocar en N "N.Ex"

Por si no me di a entender les dejo una imagen espero me puedan ayudar muchas gracias y espero tengan lindo día e inicio de semana

1 respuesta

Respuesta
1

Lo que vos quieres hacer es un "buscarv"... ¿necesitas el código en macro?

si de favor 

Esta macro la tienes que ingresar en la hoja, no en un modulo ya que con cada cambio que surja en M va a ir a buscar tus datos:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("M:M")) Is Nothing Then
Set TransRowRng = ThisWorkbook.Worksheets("Hoja1").Cells(1, 1).CurrentRegion
NewRow = TransRowRng.Rows.Count + 0
    With ThisWorkbook.Worksheets("Hoja1")
    .Cells(NewRow, 14).Value = "=VLOOKUP(RC[-1],Hoja3!C[-14]:C[-13],2,0)"
    End With
End If
End Sub

Avisame si es funcional a tu necesidad o si necesitas que la macro ingrese en la columna N la fórmula "buscarv", en ese caso, en que rango empezaría.

Si esta concluida la pregunta.

Si creo que se ajustaría más a mi necesidad que en la columna N se ingrese la fórmula "buscarv" y seria a partir de la fila 9 gracias

Te envio el codigo. Ingresalo en un modulo:

Sub estira_formula()
'Macro ayuda, By Smeagoltxc!
    'Verifica el ultimo dato que tiene información en la columna M, puedes modificarlo cambiando la M de la variable e ingresando la letra que necesites
    Dim UltimaFila As Long
    UltimaFila = Cells(Rows.Count, "m").End(xlUp).Row
    'selecciona la primera celda
    Range("N9").Select
    ' Ingresa la formula
    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-1],Hoja3!C[-13]:C[-12],2,0)"
    'estira la formula hasta la celda que contiene el ultimo dato (primer punto)
    Selection.AutoFill Destination:=Range("N9:N" & UltimaFila)
End Sub

Recordá calificar

existe la manera de que se realice sin que se ejecuten estos pasos?

¿En qué momento te pide actualizar los datos? La macro que te envíe solo genera el "buscarv".

confusión se activo la versión anterior de mi libro una disculpa y gracias ya quedo :3

Genial entonces.

Abrazo.

Buen fin de año!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas