Option Explicit
Sub Votazione()
Dim d, i As Long, UV As Long, ID As String, Preferenza As String
Set d = CreateObject("Scripting.dictionary")
' ipotizzo che le preferenze registrate confluiscano nella colonna A del mio foglio di lavoro.
' UV è il numero dell'ultima votazione registrata con successo
UV = WorksheetFunction.CountA(Range("A:A"))
For i = 1 To UV
ID = Range("a" & i).Value
Preferenza = Range("b" & i).Value
d.Add ID, Preferenza 'Popolo l'oggetto Dictionary (ID, e Preferenza)
Next
' Da qui si esprime la propria preferenza
ID = Application.InputBox("Inserisci il tuo codice ID")
Preferenza = Application.InputBox("Inserisci la tua Preferenza")
If d.exists(ID) Then ' Controllo se l'ID è già stato utilizzato. Se lo è…
MsgBox "Non fare il furbo!!! La preferenza l'hai già data!!! ", vbCritical
Exit Sub
Else
d.Add ID, Preferenza
End If
' Adesso posso svuotare l'oggetto Dictionary nel Range A:A del mio foglio.
Range("a1").Resize(d.Count, 2).Value = Application.Transpose(Array(d.keys, d.Items))
End Sub |