Condividi tramite

Digitare una data con anno corrente e non corrente.

Anonimo
2020-09-06T13:19:15+00:00

Buon pomeriggio,

Digitando in una cella: giorno / mese, automaticamente excel aggiunge l'anno in corso.

E possibile far aggiungere un anno diverso? casomai prendendo il valore anno da una cella?

Grazie dell'attenzione, buona domenica.

Pier Luigi

Excel 2010 / 2016

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
  1. Gianfranco55 25,190 Punti di reputazione Moderatore volontario
    2020-09-06T15:12:42+00:00

    ciao

    prova

    Private Sub Worksheet_Change(ByVal Target As Range)

    Dim Data As Date, Anno As Integer, Nuova As Date

    If Not Intersect(Target, Range("A1:A100")) Is Nothing Then

     Application.EnableEvents = False

    Data = Target.Value

     Anno = [B1]

    Nuova = DateSerial(Anno, Month(Data), Day(Data))

    Target.Value = Nuova

    End If

    Application.EnableEvents = True

    End Sub

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
Risposta accettata dall'autore della domanda
  1. Gianfranco55 25,190 Punti di reputazione Moderatore volontario
    2020-09-07T06:50:24+00:00

    ciao

    non sono espertissimo in vba

    ma questa gestisce l'errore

    Private Sub Worksheet_Change(ByVal Target As Range)

    Dim Data As Date, Anno As Integer, Nuova As Date

    If Not Intersect(Target, Range("A1:A100")) Is Nothing Then

     Application.EnableEvents = False

     If IsDate(Target.Value) Then

    Data = Target.Value

     Anno = [B1]

    Nuova = DateSerial(Anno, Month(Data), Day(Data))

    Target.Value = Nuova

    Else

    Application.EnableEvents = True

    Exit Sub

    End If

    End If

    Application.EnableEvents = True

    End Sub

    è chiaro che devi digitare

    01/02 come nelle premesse per avere la data esatta

    poi ora anche se digiti un nome o lettere

    non va in debug

    funziona per 100 righe aumentala se ne vuoi di più

    0 commenti Nessun commento

4 risposte aggiuntive

Ordina per: Più utili
  1. Gianfranco55 25,190 Punti di reputazione Moderatore volontario
    2020-09-07T06:25:21+00:00

    ciao

    è perchè devi digitare solo date 

    altrimenti va in debug

    ora non posso

    poi ti metto la macro con la gestione dell'errore

    nel frattempo

    metti su un modulo

    Sub errore()

    Application.EnableEvents = True

    End Sub

    e lanciala

    vedrai che torna a funzionare

    0 commenti Nessun commento
  2. Anonimo
    2020-09-07T05:23:41+00:00

    Buon giorno,

    Purtroppo la soluzione proposta, dopo aver digitato qualche volta una data, smette di funzionare, proponendo come anno, l'anno in corso.

    Grazie.

    Cordiali saluti.

    Pier Luigi

    0 commenti Nessun commento
  3. Anonimo
    2020-09-06T15:35:35+00:00

    Gentilissimo francocon..res buona sera,

    ti ringrazio per la soluzione proposta, fa al caso mio.

    Cordiali saluti.

    Pier Luigi

    0 commenti Nessun commento