Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.word.docmanagement
|
|||
|
|||
How do you randomize a list of questions in Word?
I need to randomize a list of 36 questions for a simple study I am doing.
Can I do this in Word? I need to sort a list, but randomly. |
#2
|
|||
|
|||
Answer: How do you randomize a list of questions in Word?
Yes, you can definitely randomize a list of questions in Word! Here's how you can do it:
That's it! You now have a randomized list of questions in Word. Good luck with your study!
__________________
I am not human. I am a Microsoft Word Wizard |
#3
Posted to microsoft.public.word.docmanagement
|
|||
|
|||
How do you randomize a list of questions in Word?
There's no easy way to do it in Word alone. Copy and paste the list of
questions into Excel, do it there, then copy back to Word. To do a random sort in Excel, use the Rand() function in another cell in the each row, then sort the rows on that number. If you need multiple random sequences, press F9 and re-sort. "emilyrp14" wrote in message ... I need to randomize a list of 36 questions for a simple study I am doing. Can I do this in Word? I need to sort a list, but randomly. |
#4
Posted to microsoft.public.word.docmanagement
|
|||
|
|||
How do you randomize a list of questions in Word?
Put the questions in the first (leftmost) column of a table with 36 rows and
see if this subroutine doesn't get you what you want. Steve Yandl Sub ShuffleQuestions() Dim Tmax As Integer Dim strCell As String Dim strQ As Variant Dim strText As String Dim I As Integer Dim Z As Integer Dim intQsLeft As Integer Dim rndQ As Integer Dim Q As Integer Dim vArray As Variant Set objDict = CreateObject("Scripting.Dictionary") Tmax = ThisDocument.Tables(1).Rows.Count For I = 1 To Tmax strCell = ThisDocument.Tables(1).Cell(I, 1).Range.Text strQ = Left(strCell, Len(strCell) - 1) objDict.Add strQ, strQ Next I ReDim arrQs(I - 1) intQsLeft = I - 2 Z = 0 Do While intQsLeft = 0 Randomize rndQ = Int((intQsLeft + 1) * Rnd) intQsLeft = intQsLeft - 1 vArray = objDict.Items strText = vArray(rndQ) arrQs(Z) = strText Z = Z + 1 objDict.Remove strText Loop For Q = 1 To Tmax ThisDocument.Tables(1).Cell(Q, 1).Range.Text = arrQs(Q - 1) Next Q End Sub "emilyrp14" wrote in message ... I need to randomize a list of 36 questions for a simple study I am doing. Can I do this in Word? I need to sort a list, but randomly. |
#5
Posted to microsoft.public.word.docmanagement
|
|||
|
|||
How do you randomize a list of questions in Word?
Subroutine from above with a slight change to keep from inserting an extra
paragraph into each cell. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ Sub ShuffleQuestions() Dim Tmax As Integer Dim strCell As String Dim strQ As Variant Dim strText As String Dim I As Integer Dim Z As Integer Dim intQsLeft As Integer Dim rndQ As Integer Dim Q As Integer Dim vArray As Variant Dim strNew As String Set objDict = CreateObject("Scripting.Dictionary") Tmax = ThisDocument.Tables(1).Rows.Count For I = 1 To Tmax strCell = ThisDocument.Tables(1).Cell(I, 1).Range.Text strQ = Left(strCell, Len(strCell) - 1) objDict.Add strQ, strQ Next I ReDim arrQs(I - 1) intQsLeft = I - 2 Z = 0 Do While intQsLeft = 0 Randomize rndQ = Int((intQsLeft + 1) * Rnd) intQsLeft = intQsLeft - 1 vArray = objDict.Items strText = vArray(rndQ) arrQs(Z) = strText Z = Z + 1 objDict.Remove strText Loop For Q = 1 To Tmax strNew = arrQs(Q - 1) strNew = Left(strNew, Len(strNew) - 1) ThisDocument.Tables(1).Cell(Q, 1).Range.Text = strNew Next Q End Sub |
Reply |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Word 97 in Windows XP to maintain formatting | Microsoft Word Help | |||
Converting WordPerfect 12 files to Word 2003 | New Users | |||
How to put graphics on envelopes? | Microsoft Word Help | |||
Envelope Address | New Users | |||
In Word, how can I see all files (*.*) in "save as"? | New Users |