Inutile, Anthony47 ne sa sempre una più di Satanasso!
Però, siccome mi diverto a programmare (o forse sono solo un po' malato di mente
), in serata ho elucubrato il codice che segue:
- Codice: Seleziona tutto
Function AGGIUNGI(INDIRIZZO As String, Optional COMANDO As String = "")
Static POSIZIONE As Integer
Static INSERITI(1 To 100) As String
Select Case COMANDO
Case "RESET" 'Ripristina array, indice dell'ordine d'arrivo e celle
POSIZIONE = 0
For k = 1 To UBound(INSERITI)
INSERITI(k) = ""
Next
Cells("a2:a12").ClearContents
Case Else 'Restituisce l'ordine d'arrivo
If INDIRIZZO <> "" Then
FLAG_TROVATO = False
INDICE = LBound(INSERITI)
Do
IND = INSERITI(INDICE)
If IND = INDIRIZZO Then
FLAG_TROVATO = True
End If
If FLAG_TROVATO = True Or IND = "" Then Exit Do
INDICE = INDICE + 1
Loop
If FLAG_TROVATO = True Then
AGGIUNGI = INDICE
Else
POSIZIONE = POSIZIONE + 1
INSERITI(POSIZIONE) = INDIRIZZO
AGGIUNGI = POSIZIONE
End If
End If
End Select
End Function
Risultato:
Per ripristinare lo stato iniziale, è necessario inviare un comando "RESET" alla funzione AGGIUNGI, tramite un pulsante (che con molta fantasia ho chiamato "RESET")
- Codice: Seleziona tutto
Private Sub RESET_Click()
a = AGGIUNGI("", "RESET")
End Sub
Beh, che dire... Di per sè tutto 'sto lavoro non serve a molto, visto che c'è già un programma più efficiente...
Spero però che vi siate divertiti nel leggerlo!
Ciao,
MAx