WORK AROUND SOLUTION:
After many, many hours, I have finally stumbled upon what appears to be a viable work around for the difficulty although I still think the culprit must be some bug in MS Excel.
The solution was to add each non-contiguous Sparkline as it was created to a consolidated single Sparkline Group.
The previous method would result in one Sparkline Group for each Sparkline so there would be thousands of Sparkline Groups which would then experience the performance hit if the Sparklines/Sparkline Groups were removed and re-created on the same launch of the fi
The current method used to add each non-contiguous Sparkline to a consolidated Group is to "Select" the full range in the destination worksheet that would receive the Sparklines and then perform the Sparkline Group command. There might be a better method of creating and adding non-contiguous Sparklines to a group that doesn't rely on a worksheet "Select" command, but I haven't yet figured out how to do it for Sparklines that exist in different rows and columns. Also, the addition of the Sparklines to a group has to be done as each Sparkline is created rather than after all of the Sparklines have been created otherwise the performance difficulty is not improved.
The below code is a sample set that switches between adding and removing Sparklines. As it stands, my sample set now consistently takes less than 2 seconds to create the Sparklines, regardless of whether or not Sparklines had previously existed or not.
NOTE: during the testing, I also identified that the performance difficulty didn't start occurring on my system until somewhere between 650-800 Sparklines/Sparkline Groups had been created and removed.
Bookmarks