Copiar y pegar valores de una celda a otra con Visual Basic

Tengo este simple código en la hoja donde están mis datos

Private Sub Worksheet_Change(ByVal Target As Range)
If Month(Range("c22")) = 1 Then
 Range("D32").Copy: Range("L23").PasteSpecial xlPasteValues
End If
End Sub

Y hace lo que requiero, pero el problema es que es "Piensa" cada vez que actualizo algo, lo que necesito es que lo haga solo cuando se cambie la fecha de "C22"

Nota: los mismos valores deberían pasar a "M23" en caso de que fuera el 2do mes en C22.

Nota2: C22 es una fecha del tipo dd/mm/aaaa

1 respuesta

Respuesta
2

Podrías modificar ligeramente el código por:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$22" Then
  If Month(Range("c22")) = 1 Then
   Range("D32").Copy: Range("L23").PasteSpecial xlPasteValues
  End If
End If
End Sub

Salu2

Si, funciona gracias! Pero me pasa ahora que al hacerlo queda seleccionada la celda d32 con los puntitos como para que se copie el valor.

Agrega la siguiente línea luego del copy

Application.CutCopyMode = False

Salu2

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas