Excel: avviso scadenze con pop-up (alert)

Dai forma al tuo futuro professionale

Created with Sketch.

Excel: avviso scadenze con pop-up (alert)

Excel creare un avviso pop-up

Tutorial Excel: creare un alert alla data di scadenza

Argomenti tutorial Excel

  • 00:00 – Obiettivi lezione
  • 02:03 – Come scaricare il codice e l’esercizio della lezione
  • 02:30 – Creare un nuovo foglio
  • 02:48 – Salvare in xlsm
  • 03:17 – Funzione oggi()
  • 04:08 – Funzione SE per verificare le la fattura è scaduta
  • 05:41 – Formattazione condizionale per evidenziare le fatture scadute
  • 06:15 – Creazione macro con codice VBA per generare l’alert
  • 09:25 – Creazione pulsante da associare alla macro
  • 10:20 – Conclusioni

Copia il codice VBA per creare un alert alla data di scadenza

Sub ControllaScadenze()

    Dim CellaF As Range
    Dim CellaE As Range
    Dim NumeroRecord As String
    Dim ListaRecordScaduti As String
    
    For Each CellaF In Range("F2:F100")
        If CellaF.Value = "SCADUTA" Then
            Set CellaE = CellaF.Offset(0, -2)
            NumeroRecord = CellaE.Value
            If ListaRecordScaduti = "" Then
                ListaRecordScaduti = NumeroRecord
            Else
                ListaRecordScaduti = ListaRecordScaduti & ", " & NumeroRecord
            End If
        End If
    Next CellaF
    
    If ListaRecordScaduti <> "" Then
        MsgBox "Queste fatture sono SCADUTE: " & ListaRecordScaduti
    End If
    
End Sub

Questo è un codice VBA che controlla se le date di scadenza delle fatture sono scadute o meno. In particolare, il codice cerca il valore “SCADUTA” nella colonna F delle celle F2:F100 del foglio di lavoro corrente.

La definizione di variabili per creare un alert alla data di scadenza

Queste righe definiscono quattro variabili di tipo diverso che verranno utilizzate nel resto del codice:

  1. CellaF As Range: Definisce una variabile di tipo Range chiamata CellaF. Questa variabile sarà utilizzata per contenere ogni cella nell’intervallo di celle F2:F100 del foglio di lavoro corrente, attraverso l’uso del loop “For Each” presente nel codice.
  2. CellaE As Range: Definisce una variabile di tipo Range chiamata CellaE. Questa variabile sarà utilizzata per contenere la cella due colonne a sinistra della cella CellaF, in cui è presente il valore “SCADUTA”. Questa cella viene utilizzata per estrarre il numero di record associato alla fattura scaduta.
  3. NumeroRecord As String: Definisce una variabile di tipo String chiamata NumeroRecord. Questa variabile verrà utilizzata per contenere il valore della cella CellaE, che contiene il numero di record associato alla fattura scaduta.
  4. ListaRecordScaduti As String: Definisce una variabile di tipo String chiamata ListaRecordScaduti. Questa variabile verrà utilizzata per contenere l’elenco dei numeri di record scaduti trovati dal codice. Inizialmente, questa variabile è vuota e viene riempita man mano che il codice trova fatture scadute durante l’esecuzione.

Più in generale

In caso di valore “SCADUTA”, il codice imposta la variabile CellaE come la cella due colonne a sinistra di quella che contiene la parola “SCADUTA” e imposta la variabile NumeroRecord come il valore della cella CellaE.

Successivamente, il codice controlla se la variabile ListaRecordScaduti è vuota. Se è vuota, il codice imposta la variabile ListaRecordScaduti con il valore di NumeroRecord. In caso contrario, il codice aggiunge il valore di NumeroRecord alla variabile ListaRecordScaduti utilizzando la virgola come separatore.

Infine, se la variabile ListaRecordScaduti non è vuota, il codice mostra una finestra di dialogo con il messaggio “Queste fatture sono SCADUTE” seguito dall’elenco dei numeri di record scaduti.

In sintesi, il codice controlla se le date di scadenza delle fatture sono scadute e fornisce un elenco dei numeri di record scaduti se ne sono stati trovati.

Guarda il video tutorial della lezione per creare un alert alla data di scadenza 👇👇👇

Se la lezione ti è stata utile Lasciami un like 👍 per supportarmi e lasciami un commento per dirmi he sei passato di qua 🥰

P.S.

Seguimi sui social:

Un caro saluto e a presto!!! 😊

 

3 risposte

  1. adematte ha detto:

    Buongiorno, non ho mai usato prima le macro. Ho seguito il video e ho provato a modificare il testo del modulo per adattarlo alle mie esigenze ma senza successo. Avrei bisogno di un alert che manda un avviso 15 giorni prima della scadenza del pagamento. Ho messo come riferimento della data la colonna che indicava i 15 gg prima (ho aggiunto una colonna oltre la data di scadenza), ho modificato la parola “scadute” con “inscadenza”, ma non riesco a far funzionare la macro. Potreste cortesemente scrivermi un testo da copiare nel modulo?
    Grazie mille e cordiali saluti.

  2. smoke_68 ha detto:

    Ho giocato un po’ con il codice semplificando la routine:
    Sub NewControl()

    Dim CellaF As Range
    Dim CellaE As Range
    Dim NumeroRecord As String
    Dim ListaRecordScaduti As String
    Dim ultimaR As Long

    Application.ScreenUpdating = False

    ultimaR = Cells(Rows.Count, 4).End(xlUp).Row

    For Each CellaE In Range(“E2:E” & ultimaR)
    If CellaE.Value < Range("H2").Value Then
    CellaE.Offset(0, 1).Value = "SCADUTA"
    NumeroRecord = Format(CellaE.Offset(0, -1).Value, "0000")

    If ListaRecordScaduti = "" Then
    ListaRecordScaduti = NumeroRecord
    Else

    ListaRecordScaduti = ListaRecordScaduti & ", " & NumeroRecord
    End If

    Else
    CellaE.Offset(0, 1).Value = "OK"

    End If
    Next CellaE

    If ListaRecordScaduti “” Then
    MsgBox “Queste fatture sono SCADUTE: ” & ListaRecordScaduti
    End If
    Application.ScreenUpdating = True

    End Sub

    E’ grazie a chi divulga come te la propria conoscenza che ci si mette in gioco per imparare sempre qualcosa in più!

  3. Pino Montalto ha detto:

    NON RIESCO A ESEGUIRE LA MACRO PERCHE’ MICROSOFT NE HA BLOCCATO L’ESECUZIONE.
    POTETE AIUTARMI?

Lascia un commento