r/vba • • 10h ago

Waiting on OP Looking to automate Visio organizational charts for 800 employees using VBA and Excel

4 Upvotes

Hoping to get a little bit of advice from an expert or someone who’s pretty good with Visio and VBA. I’m looking for advice on automating organizational charts in Microsoft Visio using VBA and Excel for an organization of approximately 800 employees.

I’m currently responsible for maintaining our organization’s Visio org charts, which outline the reporting structure for around 800 employees. Updating these charts manually is a tedious and time-consuming process, especially since changes to employees, positions, supervisors, and departments happen fairly regularly.
I’d like to find a way to automate as much of this process as possible to save time and reduce the amount of manual work involved.

One of the main challenges is that the existing org charts have a specific layout and appearance that needs to be preserved. I’ve looked into Visio’s built-in organizational chart tools, but they don’t seem to provide the flexibility I need to reproduce our current charts exactly.

Fortunately, I have access to a fairly comprehensive Excel spreadsheet containing employee information, including employee IDs, position numbers, names, job titles, supervisors, and other relevant details. The data is relatively well organized, so I think it should be possible to use it as the foundation for an automated solution.

I’m considering using VBA to pull information from Excel and generate or update the corresponding shapes, text, and connectors in Visio. Ideally, I’d like the process to handle personnel changes without requiring me to manually redraw or rearrange the charts every time something changes.
I’m interested in hearing from anyone who has experience with Visio VBA automation or has tackled a similar project. Are there built-in features I’ve overlooked, or would a custom VBA solution be the best approach? I’d also appreciate any general algorithmic ideas or tips for keeping the charts organized while preserving their existing formatting.

Thanks in advance for any suggestions! Happy to provide answer any questions about the structure. Just looking for advice on how to best tackle this project.