Esempio 19
La stessa biblioteca dell’esempio precedente vuole monitorare i libri in prestito ed evidenziare i casi in cui sia stata superata la data di riconsegna del libro.
L’applicazione verifica se la data di scadenza superiore della data odierna, in tal caso riporta il record nella casella di riepilogo.
Impostiamo un foglio di lavoro e creiamo una nuova UserForm con un pulsante ed una casella di riepilogo, come illustrato in figura.
Definiamo le propriet degli oggetti appena creati come riportato in tabella:
Name
Caption
ColumnCount
FrmScaduti
Visualizza prestiti scaduti
 
LstScaduti
 
5
CmdChiudi
Chiudi
 
Di seguito sono riportate le routine da inserire nel modulo di codice associato alla UserForm "FrmScaduti".
	Private Sub CmdEsci_Click()
	    Unload Me
	End Sub
	
	Private Sub UserForm_Activate()
	    'calcolo la data di sistema e la salvo su una variabile
	    MyDate = Date
	    'creo la riga descrizioni della ListBox
	    FrmScaduti.LstScaduti.AddItem "Titolo"
	    FrmScaduti.LstScaduti.List(RigaLista, 1) = "Editore"
	    FrmScaduti.LstScaduti.List(RigaLista, 2) = "Cognome Nome"
	    FrmScaduti.LstScaduti.List(RigaLista, 3) = "Telefono"
	    FrmScaduti.LstScaduti.List(RigaLista, 4) = "Data scadenza"
	    
	    RigaLista = 0
	    ActiveSheet.UsedRange.Select
	    riga = Worksheets(1).UsedRange.Rows.Count
	    For Indi = 2 To riga
	        If Range("E" & Indi) <= MyDate Then
	            RigaLista = RigaLista + 1
	            FrmScaduti.LstScaduti.AddItem Range("A" & Indi)
	            FrmScaduti.LstScaduti.List(RigaLista, 1) = _
	            Range("B" & Indi)
	            FrmScaduti.LstScaduti.List(RigaLista, 2) = _ 
	            Range("C" & Indi)
	            FrmScaduti.LstScaduti.List(RigaLista, 3) = _
	            Range("D" & Indi)
	            FrmScaduti.LstScaduti.List(RigaLista, 4) = _
	            Range("E" & Indi)
	        End If
	    Next
	    
	End Sub
	
Nel foglio di lavoro inseriamo un pulsante che attivi la Userform "FrmScaduti" (vedi paragrafo "Generatore di Macro").

Cognolato Studio 2004