ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   I have a query about loops and random numbers (https://www.excelbanter.com/excel-programming/402640-i-have-query-about-loops-random-numbers.html)

scubadiver

I have a query about loops and random numbers
 

I am learning some basics of VBA and I am trying to write a Sudoku creator.

The problem I have is that I run the code three times and on the third time
it crashes. When I re-run the code, the numbers appear in the same places.
Why aren't the numbers appearing in different places every time I run the
code?

cheers

joel

I have a query about loops and random numbers
 
You need to run the randomize function to seed the random number generator.
I would use time as the seed. the help below says that the randomize function
is started with time. Maybe they is something wrong with your system timer.

Randomize (Time)
------------------------------------------------------------------------------------
VBA help for randomize

------------------------------------------------------------------------------------

Randomize Statement


Initializes the random-number generator.

Syntax

Randomize [number]

The optional number argument is a Variant or any valid numeric expression.

Remarks

Randomize uses number to initialize the Rnd function's random-number
generator, giving it a new seed value. If you omit number, the value returned
by the system timer is used as the new seed value.

If Randomize is not used, the Rnd function (with no arguments) uses the same
number as a seed the first time it is called, and thereafter uses the last
generated number as a seed value.

Note To repeat sequences of random numbers, call Rnd with a negative
argument immediately before using Randomize with a numeric argument. Using
Randomize with the same value for number does not repeat the previous
sequence.


"scubadiver" wrote:


I am learning some basics of VBA and I am trying to write a Sudoku creator.

The problem I have is that I run the code three times and on the third time
it crashes. When I re-run the code, the numbers appear in the same places.
Why aren't the numbers appearing in different places every time I run the
code?

cheers


scubadiver

I have a query about loops and random numbers
 


I just inserted "randomize" at the beginning and it seems to be ok.

cheers


"Joel" wrote:

You need to run the randomize function to seed the random number generator.
I would use time as the seed. the help below says that the randomize function
is started with time. Maybe they is something wrong with your system timer.

Randomize (Time)
------------------------------------------------------------------------------------
VBA help for randomize

------------------------------------------------------------------------------------

Randomize Statement


Initializes the random-number generator.

Syntax

Randomize [number]

The optional number argument is a Variant or any valid numeric expression.

Remarks

Randomize uses number to initialize the Rnd function's random-number
generator, giving it a new seed value. If you omit number, the value returned
by the system timer is used as the new seed value.

If Randomize is not used, the Rnd function (with no arguments) uses the same
number as a seed the first time it is called, and thereafter uses the last
generated number as a seed value.

Note To repeat sequences of random numbers, call Rnd with a negative
argument immediately before using Randomize with a numeric argument. Using
Randomize with the same value for number does not repeat the previous
sequence.


"scubadiver" wrote:


I am learning some basics of VBA and I am trying to write a Sudoku creator.

The problem I have is that I run the code three times and on the third time
it crashes. When I re-run the code, the numbers appear in the same places.
Why aren't the numbers appearing in different places every time I run the
code?

cheers



All times are GMT +1. The time now is 11:50 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com