A family of Microsoft spreadsheet software with tools for analyzing, charting, and communicating data
Thank you for posting your question on Microsoft Q&A Community and for sharing the details, this is a nuanced issue, and I appreciate the clarity you've provided.
In Excel, each worksheet has two identifiers:
- (Name): The internal code name (e.g., “Sheet70”), which VBA uses.
- Name: The visible name you assign (e.g., “2030 AM with Scen 2”).
Your observation is correct: links that reference the internal name (like “Sheet16”) tend to stay intact, while those pointing to higher-numbered sheets (like “Sheet70”) sometimes lose the worksheet reference, especially in .xls format.
The possible cause could be:
The Excel 97–2003 (.xls) format has limitations:
- It supports only 256 sheets per workbook, but stability may degrade as you approach that limit.
- It’s more prone to link corruption, especially when referencing renamed sheets or using external links across formats.
Below are the steps that I suggest:
- Use Defined Names Instead of Direct Sheet References
- In your source workbook, go to Formulas > Name Manager.
- Create a named range for each worksheet you link to.
- Update your formulas to use these names instead of direct sheet references.
This helps Excel maintain links even if sheet names or positions change.
- Avoid Renaming Sheets After Linking
- If possible, finalize sheet names before creating links.
- Renaming sheets after links are established can cause Excel to lose track, especially in .xls.
- Check for Hidden Characters or Similar Names
- “Scen 1” vs. “Scen 2” may look similar but could contain hidden characters or spaces.
- Use VBA or Find/Replace to verify consistency.
- Split the Workbook
- If your .xls file has hundreds of sheets, consider splitting it into smaller files.
- This reduces the risk of link loss and improves performance.
- Use VBA to Monitor Link Integrity
You can write a macro to scan for broken links and log which ones fail. Let me know if you'd like help with that.
Hope my information helps. Please don't hesitate to reach back for more assistance. I'm here to help.
Looking forward to hearing from you.
If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.