I've answered a couple just like this recently. Here's Microsoft's walkthrough:
http://support.microsoft.com/kb/306022[
^].
It sounds like you may be experiencing a common problem--you code it right, but the processing is very slow. To speed that up, output to Excel via an array into a range instead of cell by cell. The Microsoft link above includes an example of that.