Si, si puo’ fare con una macro.
Segui queste istruzioni:
-sul foglio Sorgente dei nomi assegni in nome “Inizio” alla cella che contiene il primo nominativo
-determini quale e’ il numero di nominativi contenuti sul foglio sorgente; se l’ elenco e’ in col A puoi usare qualcosa come
- Codice: Seleziona tutto
TotNomi = Range("A65536").End(xlUp).Row - Range("Inizio").Row + 1
-vai sul secondo foglio, dove in prima colonna con la funzione RND metti un numero random compreso tra 0 e il numero di nominativi calcolati sopra; prima di accettare il numero random calcolato, bisogna controllare se nell’ elenco quel numero esiste gia’; lo puoi fare con una sequenza tipo questa, che ti restituisce nella variabile NumRand un numero random unico:
- Codice: Seleziona tutto
AncoRand:
NumRand = Int((TotNomi + 1) * Rnd)
If Application.WorksheetFunction.CountIf(Range("A1:A1000"), NumRand) > 0 Then GoTo AncoRand
(la formula presuppone max 1000 estrazioni; eventualmente amplia il range in formula)
-incolli questo numero nella prima cella libera di col A; puo’ andare bene
- Codice: Seleziona tutto
Range("A65536").end(xlUp).offset(1,0).value = NumRand
-accanto a questo numero inserisci il nominativo che nel sorgente corrisponde a quel numero:
- Codice: Seleziona tutto
Range("A65536").end(xlUp).offset(0,1).value = Range("Inizio").offset(NumRand,0).value
Se vuoi fare una estrazione alla volta ti fermi qui, altrimenti inserisci tutto in un ciclo For I=1 to NumEstrazioni /Next I.
Puoi farti un pulsante a cui poi associ la macro di estrazione. Per quanto riguarda l’ azzeramento inziale dell’ elenco su foglio2 suggerisco di farlo a mano, cosi’ e’ piu’ difficile farlo per errore e si puo’ sempre fare “Annulla”.
Sul foglio Sorgente, puoi colorare di rosso i nomi gia’ estratti usando la formattazione condizionale: sul secondo foglio selezioni tutta la colonna dei nominativi estratti (col. B) e assegni il nome “Estratti”; poi sul foglio sorgente selezioni tutta la riga A (ossia quella con tutti i nominativi), avvi la formattazione condizionale, clausola “la formula è”, come formula metti
- Codice: Seleziona tutto
=CONTA.SE(Estratti;A1)>0
, poi imposti o il font o lo sfondo di colore rosso.
Se l’ approccio generale ti quadra, prova a lavorarci su; posta eventuali difficolta’.
Ciao.