Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
generate a random list with 3 options
Excel 2002
I am trying to generate a random list of three options "Poor", "Average", "Good" I do not want these numbers to change once they have been generated as they will drive further options. Tried to use something below and then use Vlookup to get the appropraite response but its not what I am after. Sub Generate_Year() Dim i As Integer For i = 1 To 100 With Worksheets("Year") ..Cells(3 + i, 1) = "=RANDBETWEEN(1,3)" End With Next i End sub I did try ..Cells(3 + i, 1) = Application.WorksheetFunction.RANDBETWEEN(1,3) but it didn't work. Any suggestions would be greatley appreciated. |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
generate a random list with 3 options
Doing this once?
Fill range with =INT(RAND() *3) + 1 Copy, PasteSpecial as values "David Adamson" wrote in message ... Excel 2002 I am trying to generate a random list of three options "Poor", "Average", "Good" I do not want these numbers to change once they have been generated as they will drive further options. Tried to use something below and then use Vlookup to get the appropraite response but its not what I am after. Sub Generate_Year() Dim i As Integer For i = 1 To 100 With Worksheets("Year") .Cells(3 + i, 1) = "=RANDBETWEEN(1,3)" End With Next i End sub I did try .Cells(3 + i, 1) = Application.WorksheetFunction.RANDBETWEEN(1,3) but it didn't work. Any suggestions would be greatley appreciated. |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
generate a random list with 3 options
Hmmm.... I get #NAME? for =RANDBETWEEN(1,3) or any numbers even tho used
example found in in Help. XL2002, SP2, Win2K Pro. Curious. "David Adamson" wrote in message ... Excel 2002 I am trying to generate a random list of three options "Poor", "Average", "Good" I do not want these numbers to change once they have been generated as they will drive further options. Tried to use something below and then use Vlookup to get the appropraite response but its not what I am after. Sub Generate_Year() Dim i As Integer For i = 1 To 100 With Worksheets("Year") .Cells(3 + i, 1) = "=RANDBETWEEN(1,3)" End With Next i End sub I did try .Cells(3 + i, 1) = Application.WorksheetFunction.RANDBETWEEN(1,3) but it didn't work. Any suggestions would be greatley appreciated. |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
generate a random list with 3 options
You might not have the Analysis Tool Pack installed?
"Bob Kilmer" wrote in message ... Hmmm.... I get #NAME? for =RANDBETWEEN(1,3) or any numbers even tho used example found in in Help. XL2002, SP2, Win2K Pro. Curious. |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
generate a random list with 3 options
I have ended up creating this but can anyone suggest anything better?
--------------- Sub Generate_Year() Dim i As Integer Dim value As Long Dim Data_Options As Range Dim result As String 'set Vlookup range With Worksheets("Options") Set Data_Options = .Range("a4:b6") End With 'create random numbers between 1 and 3 For i = 1 To 100 With Worksheets("Year") ..Cells(3 + i, 1) = Rnd() * (3 - 1) + 1 End With 'change random numbers to whole numbers With Worksheets("Year") value = .Cells(3 + i, 1) value = Application.WorksheetFunction.Round(value, 0) ..Cells(3 + i, 1) = value End With 'lookup up value and return name With Worksheets("Year") value = .Cells(3 + i, 1) result = Application.WorksheetFunction.VLookup(value, Data_Options, 2, 0) ..Cells(3 + i, 1) = result End With Next i End Sub |
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
generate a random list with 3 options
Sub AAA()
Dim varr(1 To 3) varr(1) = "Poor" varr(2) = "Average" varr(3) = "Good" For i = 1 To 100 With Worksheets("Year") ..Cells(3 + i, 1) = varr(Int(Rnd() * 3 + 1)) End With Next End Sub -- Regards, Tom Ogilvy "David Adamson" wrote in message ... I have ended up creating this but can anyone suggest anything better? --------------- Sub Generate_Year() Dim i As Integer Dim value As Long Dim Data_Options As Range Dim result As String 'set Vlookup range With Worksheets("Options") Set Data_Options = .Range("a4:b6") End With 'create random numbers between 1 and 3 For i = 1 To 100 With Worksheets("Year") .Cells(3 + i, 1) = Rnd() * (3 - 1) + 1 End With 'change random numbers to whole numbers With Worksheets("Year") value = .Cells(3 + i, 1) value = Application.WorksheetFunction.Round(value, 0) .Cells(3 + i, 1) = value End With 'lookup up value and return name With Worksheets("Year") value = .Cells(3 + i, 1) result = Application.WorksheetFunction.VLookup(value, Data_Options, 2, 0) .Cells(3 + i, 1) = result End With Next i End Sub |
#7
Posted to microsoft.public.excel.programming
|
|||
|
|||
generate a random list with 3 options
Thanks for that Tom
|
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
How can I generate a list of random dates from dates I specify | Excel Worksheet Functions | |||
Generate random number from a list | Excel Worksheet Functions | |||
Need to generate random values from a list | Excel Discussion (Misc queries) | |||
generate a random number and use if function to generate new data | Excel Worksheet Functions | |||
How to generate a random list of weekDAYS between two dates? | Excel Worksheet Functions |