Macro en excel

Hola:
Ojala puedas ayudarme.
Necesito una instrucción en excel para que haga lo siguiente: Llegada por ejemplo la fecha 30 de septiembre de 2004 y posterior se ejecute de manera automática la macro1.
Te lo agradeceré bastante
Gracias

1 respuesta

Respuesta
1
Existen funciones en Visual basic que ejecutan instrucciones para la comparación de fechas.
La mayoría de ellas depende de la configuración del sistema así que he generado un código que toma cada uno de los elementos de la fecha por separado (día, mes, año) y los compara para evitar algunos problemas que se generan por configuraciones de sistema diferentes.
El siguiente procedimiento se alimenta con los valores numéricos del día, mes y año que definen la fecha limite que quieres fijar. En tu caso sería 30/09/2004. Utilizando la instrucción "GoTo" he colocado la línea de ejecución de la macro en un solo sitio para que no tengas problemas.
Luego de la linea donde dice "Macro:" debes escribir CALL y el nombre de la macro que quieres que se ejecute cuando la fecha sea igual o mayor a la fijada como limite.
Sub xFecha(dia As Double, mes As Double, año As Double)
'Obteniendo fecha actual
dia_hoy = Day(Now): mes_hoy = Month(Now): año_hoy = Year(Now)
If año_hoy > año Then 'Si el año es mayor al especificado se ejecutará la macro
GoTo Macro
ElseIf año_hoy = año Then 'Si el año es igual revisa el mes
If mes_hoy > mes Then 'Si el mes es mayor ejecuta la macro
GoTo Macro
ElseIf mes_hoy = mes Then 'si el mes es igual revisa el día
If dia_hoy >= dia Then GoTo Macro 'si el día es mayor o igual ejecuta la macro
End If
End If
GoTo Fin
Macro:
Call NombreMacro
Fin:
End Sub
Para que el subprograma se ejecute automáticamente debes asociarlo al evento de un control determinado, por ejemplo puedes ejecutarlo al abrir el libro de MS Excel colocándolo dentro del evento open del objeto workbook así:
Private Sub Workbook_Open()
Call xFecha(30,09,2004)
End Sub
Cualquier duda no dudes en escribir

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas