Como copiar el valor de dos celdas(ejm: A1,B2) al cambiar el valor de una en especifica (ejm C3).

Agradecido de antemano por toda la ayuda que me han dado en esta pagina, en especial al Sr Dante Amor.

En esta ocasion quiero que me ayuden a modificar el siguiente evento:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address(False, False) = "G3" Then
If Target.Count > 1 Or Target.Value = "" Then Exit Sub
'
uc = Cells(1, Columns.Count).End(xlToLeft).Column + 1
If uc < Columns("P").Column Then uc = Columns("P").Column
Cells(2, uc).Value = [G16]
End If
End Sub

Lo qui quisiera ahora es agregar otra celda (B5) mas para copiar, en la siguiente fila "3".

Espero explicarme mejor con esto.

La idea es que al cambiar el valor de G3 se copie el valor actual de G16 y B5, en la columna "P" el valor de G16 copiarlo a partir de P2, y B5 copiarlo a partir de P3.

1 Respuesta

Respuesta
1

La macro copia las celdas G16 y B5, solamente seleccionando la celda G3

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address(False, False) = "G3" Then
        If Target.Count > 1 Or Target.Value = "" Then Exit Sub
        '
        uc = Cells(2, Columns.Count).End(xlToLeft).Column + 1
        If uc < Columns("P").Column Then uc = Columns("P").Column
        Cells(2, uc).Value = [G16]
        uc = Cells(3, Columns.Count).End(xlToLeft).Column + 1
        If uc < Columns("P").Column Then uc = Columns("P").Column
        Cells(3, uc).Value = [B5]
    End If
End Sub

Pero si quieres que se copien las celdas después de modificar la celda G3 entonces utiliza esta macro:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(False, False) = "G3" Then
        If Target.Count > 1 Or Target.Value = "" Then Exit Sub
        '
        uc = Cells(2, Columns.Count).End(xlToLeft).Column + 1
        If uc < Columns("P").Column Then uc = Columns("P").Column
        Cells(2, uc).Value = [G16]
        uc = Cells(3, Columns.Count).End(xlToLeft).Column + 1
        If uc < Columns("P").Column Then uc = Columns("P").Column
        Cells(3, uc).Value = [B5]
    End If
End Sub

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas