On the ThisWorkbook object code page (go there by double-clicking on its entry in the VBE Object Browser tree), create a Workbook_SheetChange event handler, by selecting "Workbook" from the left dropdown and "SheetChange" from the right dropdown above the code window. This will create the following header:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
inside this sub, you can check if the "change" was important enough to warrant updating the TOC, and if so, use the information in the parameters (especial Sh) to determine which sheet was updated.
For example, if your TOC sheet has the sheet names in range A3:A10, you could do:
dim cell as range
set cell=sheets("TOC"

.range("A3"

do while cell<>Sh.name and cell<>""
set cell=cell.offset(1,0)
loop
if cell=Sh.name then cell.font.color=vbRed
Note that if you actually change the CONTENT of the TOC sheet (not just formatting), you'll need to use
application.enableevents=false
...
application.enableevents=true
around the statements that do the modifying, to prevent the sheetchange event from launching again, recursively.
I hope that helps - if you need more help, let us know.
Rob
![[flowerface] [flowerface] [flowerface]](/data/assets/smilies/flowerface.gif)