Randomiser

S

Steve

Hi all,

HYCH

I am using the code below to run a randomsier, but i would like to
randomly generate numbers from 1 to 128 and put them into cells in
column B ie

1st number generated into b1, 2nd number would then go into b2, 3rd
into b3 and so on, any help with the code for this, if it is possible

Random code using just to show a random number.


Sub RandomNo()
Randomize
MyNumber = Int((128 - 1 + 1) * Rnd + 1)

MsgBox ("Number Generated ") & (MyNumber)
Range("H8").Select
End Sub
 
J

James Silverton

Steve wrote on Tue, 6 May 2008 14:01:20 -0700 (PDT):
I am using the code below to run a randomsier, but i would
like to randomly generate numbers from 1 to 128 and put them
into cells in column B ie
1st number generated into b1, 2nd number would then go into
b2, 3rd into b3 and so on, any help with the code for this, if
it is possible
Random code using just to show a random number.
Sub RandomNo()
Randomize
MyNumber = Int((128 - 1 + 1) * Rnd + 1)

If you just want random numbers between 1 and 128 use
RANDBETWEEN(1,128) If you want 128 unique random numbers, put
1:128 in col 1, =Rand() in col 2 and sort on col 2 as one
solution.

--

James Silverton
Potomac, Maryland

E-mail, with obvious alterations:
not.jim.silverton.at.verizon.not
 
S

Steve

 Steve  wrote  on Tue, 6 May 2008 14:01:20 -0700 (PDT):


If you just want random numbers between 1 and 128 use
RANDBETWEEN(1,128)  If you want 128 unique random numbers, put
1:128 in col 1, =Rand() in col 2 and sort on col 2 as one
solution.

--

James Silverton
Potomac, Maryland

E-mail, with obvious alterations:
not.jim.silverton.at.verizon.not

Thanks, managed to get this to work for what i am looking for, but not
able to stop it generating numbers of the same value, anything i can
do with the code below to affect this outcome

HYCH

Sub RandomNo()
Dim Counter As Long
Dim NumRows As Long, NumCols As Integer
Dim r As Long, c As Integer
Dim Total As Long


Range("a1:a129").Clear
Counter = 0
NumRows = 128
NumCols = 1
Total = NumRows * NumCols
For r = 1 To NumRows
For c = 1 To NumCols
Counter = Counter + 1
Cells(r, c) = Int(Rnd() * 128)
Next c
Next r
End Sub


Steve
 
J

James Silverton

Steve wrote on Tue, 6 May 2008 14:46:02 -0700 (PDT):
Thanks, managed to get this to work for what i am looking for,
but not able to stop it generating numbers of the same value,
anything i can do with the code below to affect this outcome

I think your code suffers from the same problem as RANDBETWEEN
(and RAND too!) I don't have a VBA version of my second method
but I think it shouldn't be too hard to program.
Sub RandomNo()
Dim Counter As Long
Dim NumRows As Long, NumCols As Integer
Dim r As Long, c As Integer
Dim Total As Long
Range("a1:a129").Clear
Counter = 0
NumRows = 128
NumCols = 1
Total = NumRows * NumCols
For r = 1 To NumRows
For c = 1 To NumCols
Counter = Counter + 1
Cells(r, c) = Int(Rnd() * 128)
Next c
Next r
End Sub



--

James Silverton
Potomac, Maryland

E-mail, with obvious alterations:
not.jim.silverton.at.verizon.not
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Top