Thanks very much for this Bonnie!

Just a quick comment... Like luca90 I'm using your code in XL VBA. I've noticed that if any of the locked columns have a width of zero, then the "resize" pointer still shows when hovering between the two (non zero width) columns either side of the zero width column. Not really a problem, as the locking functionality persists.

Once again thank you. Up till now I've had to rely on various form events to trigger a sub which reset all my column widths. Flicker city!