Realizzare la Tombola in Excel. (29/03/03) Ogni tanto ci possiamo anche divertire, e coloro che dicono che il computer "isola" potranno rivedere le proprie idee. Cosa c'è di meglio che riunire la famiglia o degli amici per giocare alla vecchia, cara, Tombola ? Con il computer verrà gestito il "Tabellone" e curata l'estrazione dei numeri, così nessuno potrà dire che "i numeri vengono scelti", sarà infatti il vba di Excel a provvedere ad un'estrazione completamente casuale. Presento quindi una routine basata sulla randomizzazione ( ROUND() ) i cui concetti li ho presentati nel paragrafo precedente in questa stessa sezione ("Estrarre dati casuali"). In questo esercizio era necessario creare due gruppi di istruzioni : una routine che si occupasse di generare un numero casuale compreso tra 1 e 90, ed un'altra che si occupasse di controllare, ed interrompere, uscendo, quando tutti i 90 numeri fossero stati estratti. Ho pensato di semplificare le cose, preparando il tabellone con già inseriti tutti i 90 numeri, e di evidenziare il numero estratto in questo modo:
un immagine del Tabellone durante un'estrazione: L'idea della realizzazione quindi si basa non sull'inserimento dei numeri estratti in una tabella, che ci avrebbe costretto a memorizzare la posizione di ogni numero nella sua cella di competenza, e successivo controllo della sua esistenza (del numero ) per casualizzare un nuovo numero nel caso fosse già "uscito" e successiva identificazione della relativa cella di appartenenza, ma, secondo me più semplice, al controllo se un numero sia già evidenziato in rosso; in caso sia nero, leggo il valore (il numero) presente nella cella, avviso col messaggio del numero così estratto, e quindi lo coloro di rosso, grassetto, fondo giallo alla cella; mentre per il ciclo di controllo dei numeri estratti, faccio controllare se le celle sono evidenziate in giallo e faccio memorizzare il numero di queste celle se presenti. Se il numero delle celle gialle è uguale a 90 (tutti estratti), esco dalla routine e avviso. Per meglio identificare l'area dove risiede la tabella, uso il classico riferimento ai Range di celle che interessano.(A1:J9). Le istruzioni si commentano da sole, sono quelle già ampliamente usate in tanti esempi su questo sito. L'unica cosa che segnalo e che evidenzio, sono i posizionamenti dei cicli di istruzioni e dei rimandi. Questa la macro:
File scaricabile e consultabile : La Tombola.zip 10 Kb
|