I might as well add some justification since someone is bound to challenge my last post. I might also mention that MS Excel would battle for my #1 spot of top 10 applications of all time.
Excel DDE->PLC might be ok for viewing data NOT logging data. Ideally, data should be logged to a database. The next tier would be applications that write separate .CSV files, usually daily, to be opened externally with Excel. This isn't great since you have to deal with concurrent write locks, it's hard to analyze separate files, etc, but is workable.
Having Excel log the data to itself is horrible for many reasons including:
1. Excel has a 32k row limitation. Your application will likely crash before you reach this point as killer mentioned. Everything is memory resident, which is bad.
2. Storing/archiving/cleaning old data in this format isn't viable.
3. You can't set this up to work automatically in a consistent and reliable manner. You'll have issues with: RSLinx needing startup delays, running as a service versus application (Excel doesn't run as service), automatically running macros, etc. I've set this up for several customers where it worked properly after rebooting, then would mysteriously stop after several months.
4. DDE and to some extent VBA are deprecated technologies that are troublesome and painful to work with.
5. You can't share your data across the network effectively.
6. You can't easily accommodate changes, things like scaling data, etc.
That's all I can come up with off the top of my head, but there are more reasons. You're presenting a valuable feature that your users demand in a manner that's not supportable or expandable. IMO it's professionally irresponsible to use in a data logging capacity - or any other way beyond your own troubleshooting.
edit - I looked into OPCEx (recommended by Moggie) a bit. They do things like using Excel for reporting/alarming/updating values etc. They do not log values to excel - for good reason. That application will log data to a database, though.