Código vba excel que desactive macro o código de un modulo

tengo un código realizado en un modulo el cual me envía datos de una hoja a otra el cual coloque en una figura como si fuera un botón y al hacer clic me envía datos de la hoja activa a otra como podría para desactivarlo en función de la fecha de windows

si fecha es mayor o igual a 31/12/2014 desactivate o deja de funcionar

1 respuesta

Respuesta
1

En la primer línea de la macro colocá la condición. Es conveniente colocar la fecha en una celda para evaluar con el formato 'interno' de Excel y además que te permitirá ajustar la validez sin necesidad de ajustar el código.

Sub miBoton()

If Date > Sheets("Hoja1").Range("H1") Then Exit Sub

'y a continuación sigue tu código

fijate hay una macro con código vba excel que me envía datos de la hoja Registro a la hoja BdRegistro el cual lo pegue en una figura como un botón me supongo que en la hoja1 rangoh1 coloco 31-12-2014 y la fecha en la parte que dice then exit Sub (aquí escribo el nombre de la macro) o el código completo de la macro a desabilitar

Disculpa pero no te entiendo. ¿No sería mejor que escribas aquí tu macro?

Sdos!

lo que necesito es lo siguiente en la celda h1 de la hoja1 voy a tener la función hoy() que cambia o se actualiza en excel automáticamente cuando llegue el dia 31/12/2014 en la celda h1 de la hoja 1 esta sea la acción o evento que haga correr la macro y esta desactive la macro que por medio de código envía los datos por medio de una figura al cual le asigne la macro

te especifico mejor

la hoja se llama registro de salida que es la hoja 3

tengo en un modulo una macro llamada Sub RegistrarSalida()

la cual me envía varios datos de la hoja registro de salida a la hoja BdSalidas con una serie de validaciones para su registro o envio, aparte de esto en la hoja 3 llamada registro de salida tengo en la celda H1 la funcion Hoy() la cual me muestra la fecha actual y la actualiza

¿que nesecito? una macro que me desactive o desabilite que funcione la macro Sub RegistrarSalida() y se active o corra o funciones automaticamente cuando h1 cambie

pero que la desabilite cuando se cumpla el criterio q h1 sea mayor al 31/12/2014

Justo utilizaste H1 para tu función HOY()... que es la celda de mi ejemplo, je je ... así no se comprende obviamente.

Entonces en OTRA celda (digamos K1) coloca la fecha 31/12/2014.

Y tu macro sería tal como te indiqué pero ahora con otra referencia:

Sub RegistrarSalidas()
If Date > Sheets("Registro de Salidas").Range("K1") Then Exit Sub
'y a continuación sigue tu código que ya tenés

End Sub

También podrías utilizar de este modo:

Sub RegistrarSalidas()
If Sheets("Registro de Salidas").Range("H1")> Sheets("Registro de Salidas").Range("K1") Then Exit Sub
'y a continuación sigue tu código que ya tenés

End Sub

Porque la función Date y la celda H1 siempre van a tener el mismo valor.

Lo importante de usar otra celda para guardar la fecha límite es que ambas devolverán las fechas con el mismo formato... lo que asegura no tener problemas a la hora de comparar fechas en Excel.

Lo que quiero es que la macro Sub RegistrarSalida() deje de funcionar cuando la celda h1 de la hoja registro de salida sea mayor a 31/12/2014 ya que la celda h1 tendrá la formula Hoy() que se ira actualizando dia a dia, va a llegar un momento que llegara al dia especificado en la macro, y esta se desactive automaticamente

Y ESO es exactamente lo que hace la macro. Exit sub inhabilita la macro.

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas