excel - Generating same random number max 6 times vba -
my problem trying series of random numbers let between 1-10 , these numbers going spread out on 50 posts , same random number can occur max 6 times.
(edited)
my current code written count rows value divided 6 determine how many different random numbers need. if 58 cells have value need random numbers between 1-10. think max rows need 200
dim integer dim integer a1 = activesheet.usedrange.rows.count range("e1") = a1 = 1 a1 minnumber = 1 maxnumber = a1 / 6 range("d1") = maxnumber cells(i, 1).value = int((rnd * (maxnumber - minnumber + 1)) + minnumber) next
this code uses dictionary enter initial range of required numbers, , remove them 1 one.
sub recut() dim long dim objdic object dim lngcnt long dim lngcnt2 long dim lngcnt3 long dim lngtot long dim lngout long dim lngnum long lngtot = application.inputbox("input number of items generate", , activesheet.usedrange.rows.count) set objdic = createobject("scripting.dictionary") minnumber = 1 maxnumber = int(lngtot / 6) + 1 lngcnt = 1 6 lngcnt2 = 1 maxnumber lngcnt3 = lngcnt3 + 1 objdic.add lngcnt2 & "|" & lngcnt, lngcnt3 next next lngout = 1 lngnum = int(rnd() * objdic.count) cells(lngout, 1) = application.index(split(objdic.keys(lngnum), "|"), 1) objdic.remove objdic.keys(lngnum) next end sub
Comments
Post a Comment