¿Cómo manejar el target en 2 columnas diferentes con macros?

Quiero pedir su apoyo de favor ya que tengo como 4 meses que he dejado de practicar las macros y estoy atorado con esta parte quisiera

1.-Que al Insertar el Uuid en la hoja Facturas recibida columna "AN", en automático me busque el dato (UUid ) en la hoja NC, columna "N" y si lo encuentra, copie lo que tenga en la columna "C" y me lo pegue en la hoja "Facturas Recibida" en la columna "AO" en la fila que haya sufrido el cambio

2.-Que al Insertar el numero en la hoja Facturas recibida columna "AY", en automático me busque el número en la hoja Edo de Cuenta, columna "A" y si lo encuentra,

__ copie lo que tenga en la columna "C" y me lo pegue en la hoja "Facturas Recibida" en la columna " AZ " en la fila que haya sufrido el cambio

__ copie lo que tenga en la columna "E" y me lo pegue en la hoja "Facturas Recibida" en la columna " BA " en la fila que haya sufrido el cambio

Copie lo que tenga en la columna "I" y me lo pegue en la hoja "Facturas Recibida" en la columna "BB " en la fila que haya sufrido el cambio

Adjunto mi avance para corrección, pretendo por macros y que actualmente lo hago con formulas pero el volumen de datos me hace Lento el archivo

Mil Gracias por su ayuda

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Column = 40 Then
     Set h1 = Sheets("Facturas recibida")
     Set h2 = Sheets("NC")
         Set c = h2.Columns("N").Find(h1.Cells(Target.Row, 40).Value, lookat:=xlWhole)
         If Not c Is Nothing Then
            h2.Range("c" & c.Row).Copy
            h1.Cells(Target.Row, 41).PasteSpecial xlValues
    End If
Else
If Target.Column = 51 Then
      Set h1 = Sheets("Edo de cuenta")
      Set h2 = Sheets("Facturas recibida")
Application.Calculation = xlManual
      With h2
      Set b = h1.Columns("A").Find(h2.Cells(Target.Row, 51).Value, lookat:=xlWhole)
If Not b Is Nothing Then
H1.Range("c" & b. Row). Copy
H2. Cells(Target.Row & 52). PasteSpecial xlValues
H1.Range("e" & b. Row). Copy
H2. Cells(Target.Row & 53). PasteSpecial xlValues
H1.Range("I" & b. Row). Copy
H2. Cells(Target.Row & 54). PasteSpecial xlValues
    End If
End With
Application.ScreenUpdating = True
Application.Calculation = xlAutomatic
End If
End If
End Sub

1 respuesta

Respuesta
1

La macro presenta un error de sintaxis en las últimas celdas al establecer la ref Target(fila, col)

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Column = 40 Then
     Set H1 = Sheets("Facturas recibida")
     Set H2 = Sheets("NC")
         Set c = H2.Columns("N").Find(H1.Cells(Target.Row, 40).Value, lookat:=xlWhole)
         If Not c Is Nothing Then
            H2.Range("c" & c.Row).Copy
            H1.Cells(Target.Row, 41).PasteSpecial xlValues
        End If
ElseIf Target.Column = 51 Then
    Set H1 = Sheets("Edo de cuenta")
    Set H2 = Sheets("Facturas recibida")
    Application.Calculation = xlManual
    With H2
      Set b = H1.Columns("A").Find(H2.Cells(Target.Row, 51).Value, lookat:=xlWhole)
        If Not b Is Nothing Then
            H1.Range("c" & b. Row). Copy
            H2. Cells(Target. Row, 52). PasteSpecial xlValues
            H1.Range("e" & b. Row). Copy
            H2. Cells(Target. Row, 53). PasteSpecial xlValues
            H1.Range("I" & b. Row). Copy
            H2. Cells(Target. Row, 54). PasteSpecial xlValues
        End If
    End With
    Application.ScreenUpdating = True
    Application.Calculation = xlAutomatic
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas