Excel programming is essentially the process of building applications that use a spreadsheet rather than a traditional programming language. In many cases, people other than the application developer use these applications.
My working definition of a spreadsheet application is this: A spreadsheet file (or group of related files) designed so that someone other than the developer can perform useful work without extensive training. Based on this definition, most of the spreadsheet files you've developed probably don't qualify as spreadsheet applications. You may have hundreds of spreadsheet files on your hard drive, but you probably didn't design most of them so that others can use them.
Like witches, there are good spreadsheet applications and bad spreadsheet applications. How can you tell them apart? A good spreadsheet application does these things:
^ Enables end users to perform a task they probably couldn't otherwise do.
^ Provides an appropriate solution to a problem. The optimal approach for solving a problem doesn't always involve designing an application that works in a spreadsheet environment.
^ Does what it's supposed to do. This might be an obvious prerequisite, but many applications fail to meet this test.
^ Produces accurate results and is bug-free.
^ Performs its job using appropriate, efficient methods and techniques.
^ Traps errors and helps the user correct them.
^ Does not allow the user to accidentally (or intentionally) delete or modify important components.
^ Offers a clear, consistent user interface, so the user always knows how to proceed.
^ Contains formulas, macros, and user interface elements that are well documented.
^ Provides a design that enables developers to make simple modifications without making major structural changes.
^ Presents an easily accessible Help system that offers useful information on at least the major procedures.
^ Is based on a portable design — that is, the application runs on any system that has the proper software (in this case, a copy of Excel 2003 and possibly earlier versions).
You can create spreadsheet applications at many different levels, ranging from simple fill-in-the-blanks templates to extremely complex applications that use custom menus and dialog boxes — and may not even look like spreadsheets.
Throughout this chapter, I use the terms developer and end users. The developer is the person who creates and maintains the application (that's you!), and the end users are the folks who benefit from your efforts (this could include you).
Was this article helpful?