Excel 2007 numeri casuali
Hai un problema con Excel? 
Excel 2007 numeri casuali
di Max (utente non iscritto) data: 17/01/2012
Salve,
mi servirebbe una macro che genera numeri casuali rundom da 0 a 36 senza doppioni.
su 37 righi quindi che formano una tabella.
ogni rigo deve contenere tutti i numeri da 0 a 36 quindi senza doppioni. dovrei fare tantissime tabelle quindi mi servirebbe che funzionasse su più fogli.
esempio
le righe devono contenere tutti i numeri da 0 a 36
cella (b2:al2) da 0 a 36 casuali senza doppioni
cella (b3:al3) da 0 a 36 casuali senza doppioni
cella (b4:al4) da 0 a 36 casuali senza doppioni
cella (b5:al5) da 0 a 36 casuali senza doppioni
cella (b6:al6) da 0 a 36 casuali senza doppioni
cella (b7:al7) da 0 a 36 casuali senza doppioni
cella (b8:al8) da 0 a 36 casuali senza doppioni
cella (b9:al9) da 0 a 36 casuali senza doppioni
cella (b10:al10) da 0 a 36 casuali senza doppioni
cella (b11:al11) da 0 a 36 casuali senza doppioni
cella (b12:al12) da 0 a 36 casuali senza doppioni
cella (b13:al13) da 0 a 36 casuali senza doppioni
cella (b14:al14) da 0 a 36 casuali senza doppioni
cella (b15:al15) da 0 a 36 casuali senza doppioni
cella (b16:al16) da 0 a 36 casuali senza doppioni
cella (b17:al17) da 0 a 36 casuali senza doppioni
cella (b18:al18) da 0 a 36 casuali senza doppioni
cella (b19:al19) da 0 a 36 casuali senza doppioni
cella (b20:al20) da 0 a 36 casuali senza doppioni
cella (b21:al21) da 0 a 36 casuali senza doppioni
cella (b22:al22) da 0 a 36 casuali senza doppioni
cella (b23:al23) da 0 a 36 casuali senza doppioni
cella (b24:al24) da 0 a 36 casuali senza doppioni
cella (b25:al25) da 0 a 36 casuali senza doppioni
cella (b26:al26) da 0 a 36 casuali senza doppioni
cella (b27:al27) da 0 a 36 casuali senza doppioni
cella (b28:al28) da 0 a 36 casuali senza doppioni
cella (b29:al29) da 0 a 36 casuali senza doppioni
cella (b30:al30) da 0 a 36 casuali senza doppioni
cella (b31:al31) da 0 a 36 casuali senza doppioni
cella (b32:al32) da 0 a 36 casuali senza doppioni
cella (b33:al33) da 0 a 36 casuali senza doppioni
cella (b34:al34) da 0 a 36 casuali senza doppioni
cella (b35:al35) da 0 a 36 casuali senza doppioni
cella (b36:al36) da 0 a 36 casuali senza doppioni
cella (b37:al37) da 0 a 36 casuali senza doppioni
cella (b38:al38) da 0 a 36 casuali senza doppioni
grazie per l'aiuto
ciaooooooo
Tombola!
di Zarathustr data: 22/01/2012
Mi sono ispirato alla tombola: tu peschi da un sacchetto in cui i numeri - una volta estratti - non ci sono più .....
crea una matrice di 37 elementi ed in ognuno carica il giusto numero (sarà sacchetto(1) = 1, sacchetto(2) = 2 e così via).
estrai il primo numero a caso fra 1 e 37 - poniamo 21 - vai al sacchetto (21) e metti il contenuto sella tabella delle estrazioni.
poi prendi il contenuto dell'ultimo sacchetto (il 37esimo) e mettilo al posto di quello che hai appena usato (il 21esimo).
ora un numero a caso da 1 a 36 (nb. non più 37, ma 36 ...) e ripeti la sostituzione, e così via.
in pratica ad ogni estrazione il numero estratto viene tolto dal sacchetto, che diviene sempre meno popolato e - soprattutto - popolato solo con numeri non ancora estratti.
fammi sa pere se ti va bene, ciao.
Sub random()
Dim cestino(37) As String
For i = 1 To 37
cestino(i) = i
Next
For i = 1 To 37
Max = 38
k = Int(((Max - i) * Rnd) + 1)
Foglio2.Cells(i, 1) = cestino(k)
cestino(k) = cestino(Max - i)
Next
End Sub |
Pappa fatta ....
di Zarathustr data: 22/01/2012
Scusa, non mi ero reso conto che volevi proprio un'applicazione specifica e non un'idea di principio.
ecco qui sviluppata l'applicaizone che fa per te.
nb: nelle righe non ci sono ripetizioni, nelle colonne ovviamente si ....
non e' che per caso volevi un generatore di quadrati magici di ordine 36?
Sub random()
Range("A1", "AZ100").Select
Selection.Clear
Range("a1").Select
Dim cestino(36) As String
For j = 0 To 36
For i = 0 To 36
cestino(i) = i
Next i
For i = 0 To 36
Max = 36
k = Int((Max - i) * Rnd)
Foglio2.Cells(2 + j, 2 + i) = cestino(k)
cestino(k) = cestino(Max - i)
Next i
Next j
End Sub
|
Vuoi Approfondire?