Saltar al contenido

macro condicional


Recommended Posts

publicado

Buenas tardes amigos, los felicito x tan excelente foro. Necesito con caracter de urgencia la ayuda de ustedes, requiero una macro que se ejecute de acuerdo a algunas condiciones, en un rango de celdas si agrego en una celda la letra P se ejecute la macro 1, si escribo una letra R en cualquier celda del rango, se ejecute la macro 2, y si escribo una I, se ejecute la macro 3. Muchas gracias de ante mano.

publicado

Gracias Armando, tengo poca experiencia en macros, pero consegui un ejemplo de lo que me dijiste y en efecto cuando coloco la letra que condicione se ejecuta la macro, pero si esa misma letra la copio y la pego en varias celdas al mismo tiempo, me da un error.

publicado

Buenas tardes, saludos Armando y Toldeman, muchas gracias por sus sugerencias. Adjunto un ejemplo del archivo que estoy realizando y el cual me esta generando un error. La macro funciona de la siguiente manera: cuando coloco las letras "I", "R" ó "P" en el rango correspondiente, se ejecuta una macro que me da un anuncio, hasta alli todo perfecto, pero cuando selecciono varias celdas, las copio y las pego, me da un error.



Private Sub worksheet_change(ByVal Target As Range)

If Not Intersect(Target, Range("I21:AM50")) Is Nothing Then
If Target.Value = "I" Then


MsgBox "RECUERDE HACER SEGUIMIENTO ANTE EL SUPERVISOR, LA CONSIGNACION DEL JUSTIFICATIVO O ACTA DE INASISTENCIA CORRESPONDIENTE", vbExclamation, "ATENCION"

End If
End If

If Not Intersect(Target, Range("I21:AM50")) Is Nothing Then
If Target.Value = "R" Then


MsgBox "RECUERDE HACER SEGUIMIENTO ANTE EL SUPERVISOR, LA CONSIGNACION DEL JUSTIFICATIVO O ACTA DE INASISTENCIA CORRESPONDIENTE", vbExclamation, "ATENCION"

End If
End If

If Not Intersect(Target, Range("I21:AM50")) Is Nothing Then
If Target.Value = "P" Then


MsgBox "RECUERDE HACER SEGUIMIENTO ANTE EL SUPERVISOR, LA CONSIGNACION DEL JUSTIFICATIVO O ACTA DE INASISTENCIA CORRESPONDIENTE", vbExclamation, "ATENCION"

End If
End If


If Not Intersect(Target, Range("I21:AM50")) Is Nothing Then
If Target.Value = "A" Then


MsgBox "RECUERDE HACER SEGUIMIENTO ANTE EL SUPERVISOR, LA CONSIGNACION DEL JUSTIFICATIVO O ACTA DE INASISTENCIA CORRESPONDIENTE", vbExclamation, "ATENCION"

End If
End If


End Sub

[/PHP]

Gracias de antemano por su ayuda.

Ejemplo_Johan_Rico (1).zip

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.