Spille med en full dekk
March 18 by Eliza
Hvordan er det for en spiss tittel? Tittelen refererer til det faktum at du kan ha et behov for å fylle en rekke celler med en rekke tall i tilfeldig rekkefølge. For eksempel, kan det være lurt å fylle 52 celler med tallene 1 til 52, i tilfeldig rekkefølge. (Dette ville være lik trekke kort fra en stokket kortstokk, og dermed spissen tittelen.)
Det åpenbart er ingen innebygd i Excel-funksjon for å gi denne muligheten, slik at du blir igjen for å arbeide med makroer. Heldigvis er slik makro ikke veldig vanskelig å lage. Følgende makro vil gjøre utslaget pent:
Sub FillRand ()
Dim Nums () As Integer
Dim maxval As Integer
Dim nrows As Integer, ncols As Integer
Dim j As Integer, k As Integer
Dim Ptr As Integer
Random
Sett s = Selection
maxval = s.Cells.Count
nrows = s.Rows.Count
ncols = s.Columns.Count
ReDim Nums (maksverdi, 2)
"Fyll den første gruppe
For j = 1 Til maxval
Nums (j, 1) = j
Nums (j, 2) = Int ((Rnd * maksverdi) + 1)
Neste j
'Slags array basert på tilfeldige tall
For j = 1 Til maxval - 1
Ptr = j
For k = j + 1 Til maxval
Hvis Nums (PTR, 2)> Nums (k, 2) Deretter Ptr = k
Neste k
Hvis Ptr <> j Deretter
k = Nums (PTR, 1)
Nums (PTR, 1) = Nums (j, 1)
Nums (j, 1) = k
k = Nums (PTR, 2)
Nums (PTR, 2) = Nums (j, 2)
Nums (j, 2) = k
End If
Neste j
"Fyll i cellene
Ptr = 0
For j = 1 Til nrows
For k = 1 Til ncols
Ptr = Ptr + 1
s.Cells (j, k) = Nums (Ptr, 1)
Neste k
Neste j
End Sub
Denne makroen bruker en to-dimensjonal array (Nums) for å finne ut hvilke tall å bruke, og i hvilken rekkefølge de skal brukes. Nær begynnelsen av makro matrisen er fylt med et statisk nummer (1 til antall celler), og et tilfeldig tall mellom 1 og antall celler. Denne andre nummeret blir så brukt for å sortere matrisen. Når matrisen er lagret, er det en enkel sak å plassere de opprinnelige tallene i cellene.
Forresten, grunnen en todimensjonal matrise brukes er fordi Rnd fungere som VBA bruker til å generere tilfeldige tall kan returnere like verdier. Dermed kan det også gjennom den andre dimensjonen av matrisen kan ha duplikater i den, når matrisen er endelig sorteres, den første dimensjon vil ikke ha duplikater.
Å bruke makroen, start ved å velge cellene du ønsker å ha fylt med sekvensielle verdier i en tilfeldig rekkefølge. Når du kjører makroen, er dette området fylt. For eksempel, hvis du velger ti celler og deretter kjøre makroen, da disse cellene er fylt med tallene 1 til 10, i tilfeldig rekkefølge.
ExcelTips er din kilde for kostnadseffektiv Microsoft Excel trening. Dette tipset (2280) gjelder for Microsoft Excel 97, 2000, 2002, og 2003. Du kan finne en versjon av dette tipset for Båndet av Excel (Excel 2007 og senere) her: Spille med en full dekk.
- • Casino Gambling Spill med Grei Odds
- • Hvor mye tid burde jeg være utgifter Spille med en Pet?
- • PC-baserte spill med Windows Media Center
- • Hvordan få tilgang Online spill med en spillkonsoll
- • Spille spill med venner i din iPad Game Center
- • Spille med en Xbox 360
- • Spille spill med dine "ekte" Friends
- • Hva spill spilles med Dominoes?
- • Få Gratis spill med Sonys PSPgo Rewards Plan - Europe Only