Entre las opciones para personalizar el encabezado de una hoja, hay una para insertar la fecha actual, tomada del reloj interno de Windows. Esta fecha se actualiza cada vez que se imprime la hoja.
Si queremos poner la fecha actual dentro del encabezado y que esta quede como dato fijo, lo más simple es escribir esa fecha directamente, como cualquier otro dato. Si esto es un poco fastidioso, podemos automatizarlo con una macro. Podría ser algo así
Sub Inserta_Fecha()
ActiveSheet.PageSetup.CenterHeader = Date
End Sub
Esta macro coloca la fecha actual en la zona central del encabezado. Una vez puesta, esta fecha queda fija, hasta que ejecutemos la macro otra vez.
En un primer lugar, la fecha queda con el formato estándar establecido por defecto en Office. Si queremos un formato diferente, podemos cambiarlo con la función Format:
ActiveSheet.PageSetup.CenterHeader = Format(Date, “dd-mmm-yyyy”)
La función Format de VBA equivale a la función TEXTO de Excel: toma un dato numérico y lo convierte a texto con un formato determinado. En este caso, número del día, tres letras para el mes y cuatro cifras para el año: 27-Jun-2012.