![]() |
#1
|
|||
|
|||
![]()
Hi, for years I have wondered how to do this, and have not bothered to try and find out.
I use paragraph numbers when writing reports, and frequently write something to the effect "please see paragraph [x]". The paragraphs will be numbered using the word numbering tool, so the paragraph numbers update as I add or remove paragraphs. But what would be really cool is if I could write "please see paragraph [x]" in the text and the [x] could be automatically updated. As it stands, every time I remove a paragraph I have to read through the report and make sure any references are updated manually (or more likely forget to do that and find out later that I'm sending people to irrelevant paras". If anyone can help then that would make my life just that bit easier. ![]() Last edited by Charles Kenyon; 07-24-2014 at 05:31 AM. |
#2
|
|||
|
|||
![]()
This is done through the cross-reference feature (or References > Cross-Reference).
Do your numbering following the instructions at How to create numbered headings or outline numbering in Ribbon Versions of Word by Shauna Kelly. Will the cross-references update automatically? Yes, and no. These are fields. They will update when fields update. They generally update upon printing. You can force an update on a field by selecting it and pressing the F9 function key. You can update all fields by pressing Ctrl+A followed by the F9 key. The cross-reference is also a hyperlink (not formatted to look like one, but it acts like one). The hyperlink updates automatically. Complex Documents The following macro would update all of the REF fields in a document: Code:
Sub UpdateAllRef() ' Based on code at http://www.gmayor.com/installing_macro.htm ' Update all Ref fields in a document, even if in headers/footers Dim oStory As Range Dim oField As Field ' For Each oStory In ActiveDocument.StoryRanges For Each oField In oStory.Fields If oField.Type = wdFieldRef Then oField.Update Next oField ' If oStory.StoryType <> wdMainTextStory Then While Not (oStory.NextStoryRange Is Nothing) Set oStory = oStory.NextStoryRange For Each oField In oStory.Fields If oField.Type = wdFieldRef Then oField.Update Next oField Wend End If ' Next oStory ' Set oStory = Nothing Set oField = Nothing End Sub Last edited by Charles Kenyon; 07-24-2014 at 05:31 AM. Reason: changed macro to allow for multiple stories |
#3
|
|||
|
|||
![]()
Charles, you may well have made a difference to someone's life today with that advice. I thank you.
![]() |
#4
|
|||
|
|||
![]()
You are welcome.
|
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
![]() |
yllakay | Word | 2 | 09-24-2012 10:28 AM |
Numbered Lists | jburtis | Word | 1 | 04-07-2012 02:42 PM |
Bulleted and Numbered Lists | peret944 | Word | 0 | 03-25-2011 01:08 PM |
Numbered lists, even numbers only | Mnementh | Word | 3 | 05-10-2010 03:31 AM |
![]() |
eliz.bell | Word | 2 | 11-04-2009 06:33 PM |