Brian vorrebbe inserire una data digitando solo il mese e il giorno.

Excel presume che l’anno sia l’anno corrente, ma vorrebbe che l’anno fosse quello per la prossima volta che si verifica quella data. Ad esempio, se oggi è 6/1/18 e Brian digita 7/1, Excel presume automaticamente un anno 2018. Se Brian digita 5/1 lo stesso giorno, Excel dovrebbe assumere un anno 2019, come 5/1 è già nel passato. Brian sa di poter utilizzare una formula per visualizzare la data in una cella diversa, ma si chiede come può impostare Excel per impostazione predefinita con questo approccio mentre digita le date nelle celle.

A meno di giocare con la data di sistema o apportare modifiche alle date dopo l’immissione, la soluzione richiede l’uso di una macro. Il seguente gestore di eventi farà il trucco:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Cells.Count > 1 Then Exit Sub     If Target = "" Then Exit Sub

If IsDate(Target) Then         If Target < Date Then             If Year(Target) = Year(Date) Then                 Application.EnableEvents = False                     Target.Value = DateAdd("yyyy", 1, Target)

Application.EnableEvents = True             End If         End If     End If End Sub

Per aggiungere questa macro alla tua cartella di lavoro, fai semplicemente clic con il pulsante destro del mouse sulla scheda del foglio di lavoro in cui desideri che sia operativa e quindi scegli Visualizza codice. Nella finestra del codice risultante, aggiungi la macro precedente.

Ora, ogni volta che apporti una modifica nel foglio di lavoro, viene controllato per vedere se è una data. Se lo è e la data è precedente alla data odierna, viene aggiunto un anno alla data. Notare che il codice verifica che l’anno della data inserita sia lo stesso dell’anno corrente. Senza questo controllo, qualsiasi data nel passato, anche se di molti anni, verrebbe incrementata. Questo probabilmente non è previsto, quindi l’assegno è incluso.

La macro non influirà sulle date immesse in più celle contemporaneamente, né sulle date immesse come valori di testo.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (13601) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 e Excel in Office 365.