Pregunta Copiando solo ciertas celdas de una fila a otra hoja de trabajo


Tengo un libro de trabajo que tiene una gran cantidad de hojas diseñadas para ayudar a mi equipo a administrar su carga de trabajo de manera más eficiente.

Cuando alguien solicita que se realice un trabajo, se agrega una fila a una hoja llamada 'autorización pendiente'

Luego, el equipo tiene un cuadro desplegable en cada fila / registro en la columna 'N' que se agrega y puede aceptar o rechazar el trabajo.

Si el equipo acepta el trabajo, se traslada a otra hoja llamada trabajo pendiente y elimina el registro de la hoja de autorización pendiente. El código que hace esto está a continuación:

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("N:N")) Is Nothing Then
If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub
Dim Lastrow As Long
Lastrow = Sheets("Status Check").Cells(Rows.Count, "N").End(xlUp).Row + 1

If Target.Value = "Accepted" Then
Rows(Target.Row).Copy Destination:=Sheets("Pending Work").Rows(Lastrow)
Rows(Target.Row).Delete
End If
End If
End Sub

Aunque esto funciona muy bien, en realidad solo quiero que ciertas celdas de esta fila se copien en la otra hoja de trabajo en lugar de en toda la fila. ¿Hay alguna manera fácil de seleccionar solo ciertas celdas de cada fila para copiar?


0


origen


Utilizar Range("X" & Target.Row) y copia a Range("Y" & Lastrow) (dónde X y Y y las columnas de origen y destino, respectivamente) - cybernetic.nomad
Spot on sí, eso funciona, simple después de ver cómo llegaste a esa respuesta, ¿puedo darte crédito por la respuesta? - Nokturnyl
¿Estableció algún criterio para acceder a celdas específicas de la Fila copiada? - Rajesh S
Puede intentar esto también ,,, If cell.Value = "Accept" Then Range(Cells(cell.Row, "A"), Cells(cell.Row, "D")).Copy - Rajesh S
Otro método más simple para copiar condicionalmente / incondicionalmente debería, Target.Range("A13").Copy Destination:=Sheets("TEST").Range("A5" & nxtRw) Target.Range("I13:J13").Copy Destination:=Sheets("TEST").Range("E5" & nxtRw - Rajesh S


Respuestas:


En lugar de copiar toda la fila, puede copiar desde Range("X" & Target.Row) y para Range("Y" & Lastrow) 

(donde X e Y y las columnas de origen y destino, respectivamente)


0