¿Cómo detener dos fórmulas a partir de dos macros que empiezan con Private Sub Worksheet_SelectionChange(ByVal Target As Range)?

Estamos generado un archivo para darle seguimiento a solicitudes de compras. Tres columnas cuentan los días trascurridos el primero es la columna "K" en la imagen se debe detener el conteo de días (=Data!$G$1-[Req_Date]) cuando en la columna "H" aparesca la leyenda "Done".

Esto mismo se repite en tres columnas mas "Q" con "P" y "S" con "T".

El problema es que solo puedo hacer que funcione una macro al mismo timepo, si agrego la segunda, no trabaja.

Sera que me puedan Guiar.

JP

'Macro 1

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column <> 8 Then Exit Sub
If Target.Count > 1 Or Target.Value = "" Then Exit Sub
If Target.Value = "Approved" Then
Range("K" & Target.Row).Copy
Range("K" & Target.Row).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End If
End Sub

'Macro 2

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Column <> 16 Then Exit Sub
If Target.Count > 1 Or Target.Value = "" Then Exit Sub
If Target.Value = "Approved" Then
Range("Q" & Target.Row).Copy
Range("Q" & Target.Row).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End If
End Sub

1 respuesta

Respuesta
1

Los eventos de los objetos son únicos, no puedes usarlos dos o más veces. En este caso usas el evento "Change" de una hoja y tendrías que tener todo dentro de él. De lo que entendí, algo así te servirá:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Column = 8 And Target.Value = "Approved" Then
Range("K" & Target.Row).Copy
Range("K" & Target.Row).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End If
If Target.Column = 16 And Target.Value = "Approved" Then
Range("Q" & Target.Row).Copy
Range("Q" & Target.Row).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End If
End Sub

Comentas

Abraham Valencia

¡Gracias! 

Pero que excelente.

Algún curso que recomiendes para aprender mas del tema?

En mi experiencia la lectura junto a la práctica es la base de la programación, y en la práctica el ensayo/error ayuda mucho. Recomiendo leer los manuales que están en mi Blog:

http://abrahamexcel.blogspot.pe/ 

Salu2

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas