excel 2007 ingrese nueva fecha

excel 2007 ingrese nueva fecha

Intento crear una plantilla de Excel que tendrá tres campos que me gusta actualizar automáticamente cuando esté abierta.

Campos que tendrá esta plantilla

  • Fecha actual: 07/02/2012
  • Número de hoja: 25
  • Entre fecha: 07/02/2012 al 08/02/2012

Cuando abra esta plantilla después del 08/03/2012 esta hoja tendrá nuevos datos

  • Fecha actual: 08/03/2012
  • Número de hoja: 26
  • Entre Fecha: 08/03/2012 al 09/02/2012

Para la fecha actual

Private Sub Workbook_Open() 
     ThisWorkbook.Worksheets("Sheet1").Range("A1").Value = Date 
End Sub

¿Se puede hacer esto usando la función de Excel o necesito usar VB y también cómo actualizo la plantilla automáticamente con nuevos valores para decir la próxima vez que use estas fechas?

Respuesta1

Hay varias formas de lograrlo.

La más sencilla supone que las fechas de inicio y finalización son coherentes.

  1. Las fechas "intermedias" deben estar en dos celdas. La fecha de "inicio" se establece en el día 2 del mes actual =DATE(YEAR( NOW() ), MONTH( NOW() ), 2), la fecha de "fin" en el día 2 del mes actual +1=DATE(YEAR( NOW() ), MONTH( NOW() ) +1, 2)
  2. La fecha "actual" simplemente se establece en la fecha de "inicio".

Sin embargo, es necesario "arreglar" estas fechas cuando se guarda la hoja de cálculo. Suponiendo que la fecha "actual" está en la celda B3 y las 2 entre fechas están en las celdas. Puedes usar algo como:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

    Range("B3").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues

    Range("B5:C5").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues

End Sub

En el ThisWorkbookmódulo de código. Esto simplemente copia y pega valores en las celdas para que la fórmula sea reemplazada por las fechas.

Vaya, se requiere una adición a esto. El código que he proporcionado es un poco simplista, ya que no podrá guardar la plantilla, por lo que debe envolver el código proporcionado en algo que evite que se active al editar la plantilla. Posiblemente la forma más sencilla sea utilizar una convención de nomenclatura para los archivos. Quizás la plantilla tenga el texto "PLANTILLA " al comienzo del nombre del archivo.

información relacionada