excel 2007 insira nova data

excel 2007 insira nova data

Estou tentando criar um modelo Excel que terá três campos que gosto de atualizar automaticamente quando estiver aberto.

Campos que este modelo terá

  • Data Atual: 07/02/2012
  • Número da folha: 25
  • Entre Data: 07/02/2012 a 08/02/2012

Quando eu abrir este modelo após 08/03/2012 esta planilha terá novos dados

  • Data Atual: 03/08/2012
  • Número da folha: 26
  • Entre Data: 03/08/2012 a 02/09/2012

Para data atual

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

Isso pode ser feito usando a função Excel ou preciso usar VB e também como faço para atualizar o modelo automaticamente com novos valores para dizer na próxima vez que usar essas datas.

Responder1

Existem várias maneiras de conseguir isso.

O mais fácil pressupõe que as datas de início e término sejam consistentes.

  1. As datas “entre” devem estar em duas células. A data de "início" é definida para o dia 2 do mês atual =DATE(YEAR( NOW() ), MONTH( NOW() ), 2), a data de "término" para o dia 2 do mês atual +1=DATE(YEAR( NOW() ), MONTH( NOW() ) +1, 2)
  2. A data “atual” é então simplesmente definida como a data “início”.

Porém, você precisa “consertar” essas datas quando a planilha for salva. Supondo que a data "atual" esteja na célula B3 e as 2 datas intermediárias estejam nas células . Você pode 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

No ThisWorkbookmódulo de código. Isso simplesmente copia/cola valores nas células para que a fórmula seja substituída pelas datas.

Ops, é necessária uma adição a isso. O código que forneci é um pouco simplista, já que você não seria capaz de salvar o modelo, então você precisa agrupar o código fornecido em algo que impeça que ele seja acionado ao editar o próprio modelo. Possivelmente a maneira mais fácil é usar uma convenção de nomenclatura nos arquivos. Talvez o modelo tenha o texto “TEMPLATE” no início do nome do arquivo.

informação relacionada