
Tips.Net > WordTips Home > Formatting > Bullets and Numbering > Reverse Numbered Lists
Summary: Numbered lists are easy to generate in Word; it is part of the built-in formatting capabilities of the program. If you want reverse numbered lists (lists that count down toward 1), then you need to create your own lists that are a bit more tricky in nature. This tip explains how to get just what you want. (This tip works with Microsoft Word 97, Word 2000, Word 2002, and Word 2003.)
Word includes a built-in numbered-list feature that you can use to quickly develop your lists. This is great for lists that are in ascending order (1 through 10), but not so great for those you want in descending order (10 through 1).
If you have a need for reverse lists, there is no automatic feature in Word that allows you to create them. One way around this is to simply create your own list numbers and put them in the order desired. The problem with this is that the process is quite manually intensive. In addition, the regular numbered-list feature of Word can play havoc with your reverse-ordered list if you press Enter at the end of an existing list item.
Another way to handle the situation is to precede each item in your list with a SEQ field to generate the number for the list item. When you are done with the list items, you could then update the fields, and sort the paragraphs in descending order. The obvious drawback to this approach is that you need to enter your initial list in reverse order, since the final sort will do the ordering for you. Thus, if you had 10 items, you would enter number 10 first, then number 9, and so on. When you did the sort, the order of the items would be reversed and each item would end up in its final order.
Another drawback to this is that adding items to the list becomes cumbersome, and if you update the fields in your document, the numbers will be thrown off completely. Thus, a more satisfactory approach must be found.
One way is to modify the SEQ field so that it more appropriately shows the intended order of the paragraphs. Using a compound field for the list number can do this, in the following fashion:
{=NP - {SEQ RevList}}
In this instance, the characters NP must be replaced with a number one greater than the number of items in your final list. Thus, if your list consisted of 25 items, then NP would be 26. The SEQ field is used to generate an ascending order of numbers which are subtracted from NP to give a final reverse-order numbering.
As long as you know the number of paragraphs (items) in your list, and you remember to put the field at the beginning of each paragraph, you are in great condition. If you forget either one, your list can be thrown off. To solve this, a macro can come in handy. The following VBA macros (RevList and DoList) will do the trick. To use the macros, simply select the paragraphs to be included in the list, then run RevList, which in turn uses DoList. The proper fields are placed at the beginning of each paragraph (removing any that are there already), and applying a hanging indent to the paragraphs.
Sub RevList()
Dim ShowFlag As Boolean
Dim Numparas As Integer
Dim Counter As Integer
Numparas = Selection.Paragraphs.Count
Selection.MoveLeft Unit:=wdCharacter, Count:=1
ShowFlag = ActiveWindow.View.ShowFieldCodes
ActiveWindow.View.ShowFieldCodes = True
DoList Numparas
Counter = 1
While Counter < Numparas
Selection.Move Unit:=wdParagraph, Count:=1
DoList Numparas
Counter = Counter + 1
Wend
ActiveWindow.View.ShowFieldCodes = ShowFlag
ActiveDocument.Select
ActiveDocument.Fields.Update
End Sub
Private Sub DoList(Cnt As Integer)
Selection.Extend
Selection.MoveRight Unit:=wdCharacter, Count:=1
If InStr(Selection.Text, "SEQ") > 0 Then
Selection.MoveRight Unit:=wdCharacter, Count:=2
Selection.Delete Unit:=wdCharacter, Count:=1
Else
Selection.Collapse Direction:=wdCollapseStart
End If
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _
PreserveFormatting:=False
Selection.TypeText Text:="=" & Cnt + 1 & "-"
Selection.Fields.Add Range:=Selection.Range, Type:=wdFieldEmpty, _
PreserveFormatting:=False
Selection.TypeText Text:="SEQ RevList"
With Selection.ParagraphFormat
.LeftIndent = InchesToPoints(0.5)
.FirstLineIndent = InchesToPoints(-0.5)
End With
Selection.MoveRight Unit:=wdCharacter, Count:=4
Selection.InsertAfter "." & vbTab
End Sub
If you want to modify the way in which the hanging indent is created, simply change the lines in the DoList macro where the LeftIndent and FirstLineIndent properties are set.
Tip #1759 applies to Microsoft Word versions: 97 2000 2002 2003
Take Control! Master the real power behind Word! Successfully master the secrets of powerful formatting and create documents that stand out from the rest. Best of all, you can create documents that are easy to maintain and quick to change.
Check out Word 2007 Styles and Templates today!
Learn to search for and replace text, formatting, graphics, and special characters the easy way with WordTips: Find and Replace. (more information...)
Ask a Word Question
Make a Comment
Beauty Tips
Bugs and Pests Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Money Tips
Organizing Tips
Pet Tips
Word2007 Tips
WordTips