The arrChO is a zero-based array and x must count the charts... K is initially 0. I could use X - 1 here, but I got used to have a separate variable for that. Sometimes, there are conditional iterations where it is good to use something easy to be checked at the end, if necessary, without being confused by the iterated variable. I can say, it is a matter of habit... A good habit, I would (still) dare to believe... :) I could also declare array 1 To ActiveSheet.ChartObjects.count, also.