1

I have a multiple choice exam I've written in MS Word 2016 with the following question format:

  1.  Question text that is usually long enough to cross the entire page
  A. Answer Choice 1
  B. Answer Choice 2
  C. Answer Choice 3
  D. Answer Choice 4
  E. Answer Choice 5

I'd like to find a way to quickly convert the answers (A:E) to be formatted into columns to save space.

  • However, the question lines need to remain as single (really, non) columns so they can stretch across the page.

End result would be something visually similar to this:

  1.  Question text that is usually long enough to cross the entire page
  A. Answer Choice 1      C. Answer Choice 3        E. Answer Choice 5
  B. Answer Choice 2      D. Answer Choice 4
  
  2.  Next question....

I've discovered I can use the Find and Replace tool to quickly insert column breaks (^n).

  • E.g., Find: ^pC. ; Replace: ^nC.

However, this simply just moves the C line to a new page instead of to a new column. I assume the issue is that I don't already have an existing column format structure in place.

Is there a way to quickly add column format to all of my answer lines but not to my question lines?

1 Answer 1

1

If you can live with the following format ...

  1.  Question text that is usually long enough to cross the entire page
  A. Answer Choice 1      B. Answer Choice 2      C. Answer Choice 3
  D. Answer Choice 4      E. Answer Choice 5    

That can be achieved by simply selecting the five answers and using the Convert Text to Table function on the Insert tab and Tables menu button. Then from the dialog that opens choose a 3-Column, 2-Row table layout.

If you must have the layout you posted, you would need a macro that would format the five potential choices into the table layout. The following macro will do that when you select the five choices and then execute the macro.

Sub ConvertToTable()
    Dim rng As Word.Range, tbl As Word.Table
    Dim iRng As Word.Range
    Set rng = Selection.Range
    Selection.Collapse Word.WdCollapseDirection.wdCollapseEnd
    Set tbl = Selection.Tables.Add(Selection.Range, 2, 3)
    Set iRng = rng.Paragraphs(1).Range
    iRng.MoveEnd wdCharacter, -1
    tbl.Range.rows(1).Cells(1).Range.FormattedText = iRng.FormattedText
    Set iRng = rng.Paragraphs(2).Range
    iRng.MoveEnd wdCharacter, -1
    tbl.Range.rows(2).Cells(1).Range.FormattedText = iRng.FormattedText
    Set iRng = rng.Paragraphs(3).Range
    iRng.MoveEnd wdCharacter, -1
    tbl.Range.rows(1).Cells(2).Range.FormattedText = iRng.FormattedText
    Set iRng = rng.Paragraphs(4).Range
    iRng.MoveEnd wdCharacter, -1
    tbl.Range.rows(2).Cells(2).Range.FormattedText = iRng.FormattedText
    Set iRng = rng.Paragraphs(5).Range
    iRng.MoveEnd wdCharacter, -1
    tbl.Range.rows(1).Cells(3).Range.FormattedText = iRng.FormattedText
    rng.Delete
    rng.Select
    Selection.Delete
End Sub

The macro is quick and dirty, meaning there might be a more elegant way to code it... but it works.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .