Esempi di automazione con interfaccia utente 2
La biblioteca desidera possedere un archivio che memorizzi le informazioni relative a Titolo,
Autore e Casa Editrice di tutti i libri posseduti. Inoltre si vuole gestire l'inserimento, la
cancellazione e la ricerca dei dati tramite un' interfaccia utente personalizzata.
|
|
Realizziamo un foglio Excel come descritto in figura. Inoltre creiamo una nuova UserForm con quattro
pulsanti, quattro caselle di testo, una barra di scorrimento(ScrollBar) ed un pulsante di
selezione(SpinButton).
|
|
 |
|
Definiamo le proprietà degli oggetti appena creati come riportato in tabella: |
|
|
Name |
Caption |
FrmLista |
Gestione Libri |
CmdInserisci |
Inserisci |
CmdCancella |
Cancella |
CmdCerca |
Cerca X Titolo |
CmdChiudi |
Chiudi |
TxtTitolo |
|
TxtAutore |
|
TxtEditore |
|
SpnNum |
|
ScrNum |
|
TxtNum |
|
|
|
Di seguito sono riportate le routine da inserire nel modulo di codice associato
alla UserForm "FrmLista".
|
|
Private Sub CmdCancella_Click()
Numriga = ActiveCell.Row
Rows(Numriga & ":" & Numriga).Select
Selection.Delete Shift:=xlUp
ScrNum.Max = ActiveSheet.UsedRange.Rows.Count
End Sub
|
Private Sub CmdCerca_Click()
On Error GoTo 10
Cells.Find(what:=TxtTitolo.Text, After:=ActiveCell, _
LookAt:=xlPart, SearchOrder:=xlByRows, _
searchdirection:=xlNext).Activate
x = ActiveCell.Column
TxtTitolo.Text = ActiveCell.Text
TxtEditore.Text = ActiveCell.Offset(columnoffset:=x).Text
TxtAutore.Text = ActiveCell.Offset(columnoffset:=x + 1).Text
ValScr = ActiveCell.Row
ScrNum.Value = ValScr
TxtNum.Text = ValScr
Exit Sub
10: MsgBox "Record non trovato"
End Sub
|
Private Sub CmdEsci_Click()
Unload Me
End Sub
|
Private Sub CmdInserisci_Click()
ValScr = ActiveSheet.UsedRange.Rows.Count + 1
TmpTitolo = TxtTitolo.Text
TmpEditore = TxtEditore.Text
TmpAutore = TxtAutore.Text
ScrNum.Max = ValScr
ScrNum.Value = ValScr
Range("A" & ValScr) = TmpTitolo
Range("B" & ValScr) = TmpEditore
Range("C" & ValScr) = TmpAutore
TxtNum.Text = ValScr
End Sub
|
Private Sub ScrNum_Change()
ValScr = ScrNum.Value
Range("A" & ValScr & ":" & "C" & ValScr).Select
TxtTitolo.Text = Range("A" & ValScr)
TxtEditore.Text = Range("B" & ValScr)
TxtAutore.Text = Range("C" & ValScr)
TxtNum.Text = ValScr
End Sub
|
Private Sub SpnNum_SpinDown()
ScrNum.Value = 2
ScrNum_Change
End Sub
|
Private Sub SpnNum_SpinUp()
ValScr = ActiveSheet.UsedRange.Rows.Count
ScrNum.Max = ValScr
ScrNum.Value = ValScr
ScrNum_Change
End Sub
|
Private Sub UserForm_Activate()
ScrNum.Max = ActiveSheet.UsedRange.Rows.Count
ScrNum.Min = 2
End Sub
|
|
Nel foglio di lavoro inseriamo un pulsante che attivi
la Userform "FrmLista" (vedi paragrafo "Generatore di Macro").
|
|
|