Puoi farlo con una macro di WorksheetChange, ma con delle limitazioni.
Infatti dalla macro non riesco a sapere se l' anno e' stato inserito dall' operatore o da excel come riempimento automatico (Nota 1). Quindi possiamo fare in modo che l' anno venga corretto dalla macro a un valore predeterminato se quello nella cella e' l' anno corrente; il lato negativo e' che se devi mettere una data nell' anno corrente devi farlo impostando il valore predeterminato.
Cioe':
-imposti solo gg e mm; la macro aggiunge l' anno predeterminato
-imposti gg, mm e anno corrente; la macro modifica l' anno in quello predeterminato
-imposti gg, mm e altro anno; la data non viene modificata
Considerando che mettere l' anno vuol dire digitare 2 caratteri, secondo me il gioco non vale la candela. Comunque decidi tu.
Se ti interessa procedere:
-parti dal foglio dove devi inserire le date, e in una cella libera scrivi "l' anno predeterminato", es 2001; assegna alla cella il nome DefY (selezioni la cella, Menu /Inserisci /Nome /Definisci; scrivi DefY, Ok)
-tasto dx sul tab del nome: ti si apre l' editor delle macro
-copia e inserisci nella parte dx della finestra il seguente codice:
- Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub '<<<< Colonna con le date
If Not IsDate(Target) Then Exit Sub
If Year(Now) <> Year(Target) Then Exit Sub
Application.EnableEvents = False
Target.Value = DateSerial(Range("DefY").Value, Month(Target.Value), Day(Target.Value))
Application.EnableEvents = True
End Sub
Guarda l' istruzione marcata <<<: essa spiega su quale colonna si vuole applicare la regola, ed ora e' impostata su col A (la colonna 1); se le tue date sono in altra colonna cambia il numero (se fossero in piu' colonne potrebbe essere necessario fare qualche adattamento, se non riesci posta ancora con i dettagli delle colonne che usi).
Torna su excel, digita una data con solo gg e mm e vedi l' effetto.
Nota1: una variante potrebbe essere quella di formattare come testo la colonna che deve contenere le date, e poi operare con una macro; ma gli svantaggi sono assolutamente superiori al vantaggio di non digitare i 2 caratteri.
Ciao.