![]() |
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 |
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 |
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