Day and Night Over the Atlantic – an example of sprite animation

Hi guys, here is an animation I made yesterday by downloading 120 pictures of the Earth taken 12 minutes apart by satelites above the equator at 30 degrees longitude west on 10/01/2010.

The pictures are 500 x 500 pixels and they are pasted as a background of a chart by a slimmed down VBA macro.

You can change the speed of the model. The time increment is fixed however at 12 minutes between snapshots. This is a brute force sprite animation and I had to tinker with the macro to make it work without blinks. This will work fine in Excel 2007.

The pictures are generated by the “Earth Viewer” which was first implemented by John Walker in December 1994. Most of the software that generates the various views of the Earth was adapted from Home Planet for Windows.

The satellite tracking code is based upon the N3EMO Orbit Simulator.




Recommending this site to your friends would be highly appreciated.   Thanks for your support!


  1. You certainly can do that. Depending on the excel version you use, you need to create 30 little charts formatted the way you need them (for some reason their size does not matter). Of course each of the charts will vave a different picture used as background.The macro will do the rest. To rename the charts use a special rename chart macro and use names that can be used in a loop.

  2. I am using excel 2010. I wanted to have about 30 pictures instead of 120. If I replaced your pictures with my own, and changed the macro to only loop 30 times instead of 119 would that do it? thanks

  3. Which version of Excel are you using? How many pictures you are talking about? Excel is very limited as size and speed. What you see here is very dificult to tune.

  4. So if I want to add my own series of pictures and have excel animate through them, what would I need to change. ie. how do I get another picture into the chart?

  5. Thanks, Casey for posting the question here.
    I was expecting somethings else (chart updating false). Could you send me a sample by email and I will reply here. To start with, add one more DoEvents everywhere the chart might be hanging (just before Application. Wait…. for sure). Do this before sending anything. Thanks, George

  6. You mention having to tweak the macro to make it not blink… what did you have to do? I’ve been trying to get an animation of mine not to blink, and it’s driving me bonkers. I have example animation sheets, and I think I have made mine the same way, but mine blink. It might be because my chart already has 5 different lines on it, but I’m not sure.
    I currently have a loop that changes the value of a cell that is the source for a line in the chart. The loop spaces time out with this:
    For i=1 to 50
    [Simple incriment value code]
    Application.Wait Now + TimeSerial(0, 0, 1) / 10
    Any idea?
    As a work around for creating an animation, I found some code to take screen shots and save them as .png. Silly, but it worked.

  7. Daniel, I am familiar with better methods. In this particular case if you use the images as points on a graph (puppet show type of animation), the file would be about 4-5 times larger (20-25 MByte), and I don’t understand why. I had a very hard yesterday and when I finally finished I couldn’t figure how to turn it off other than by hitting “Escape”. I also had to remove a lot of junk such as “AnimateChart” etc. This is method is neat but it has its own drawbacks.

  8. Ah, that’s it. Seems to work for me in Excel 2007…

    I’ve tried a slightly different method of “animations” with my spreadsheets, showing moving loads moving along a beam as it plots moment and shear envelopes (mostly for entertainment while I wait for the analysis to run).

    In that case, screen updating was turned off, and it’s flipped on and off after each step, updating the chart and the moving load position.

  9. Right this moment I am editing it. Give me 5 minutes.

  10. Wrong link? This goes to the speedometer spreadsheet.

Leave a Reply

Your email address will not be published.