CDN$ 67.02
  • List Price: CDN$ 72.99
  • You Save: CDN$ 5.97 (8%)
Only 1 left in stock (more on the way).
Ships from and sold by Gift-wrap available.
Professional Excel Develo... has been added to your Cart
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Professional Excel Development: The Definitive Guide to Developing Applications Using Microsoft Excel and VBA Paperback – Feb 1 2005

5 out of 5 stars 3 customer reviews

See all formats and editions Hide other formats and editions
Amazon Price
New from Used from
"Please retry"
CDN$ 67.02
CDN$ 50.00 CDN$ 5.78

Special Offers and Product Promotions

  • Amazon Student members save an additional 10% on Textbooks with promo code TEXTBOOK10. Enter code TEXTBOOK10 at checkout. Here's how (restrictions apply)

No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your e-mail address or mobile phone number.

Product Details

  • Paperback: 936 pages
  • Publisher: Addison-Wesley Professional; 1 edition (Feb. 1 2005)
  • Language: English
  • ISBN-10: 0321262506
  • ISBN-13: 978-0321262509
  • Product Dimensions: 17.8 x 4.6 x 23.1 cm
  • Shipping Weight: 1.4 Kg
  • Average Customer Review: 5.0 out of 5 stars 3 customer reviews
  • Amazon Bestsellers Rank: #275,975 in Books (See Top 100 in Books)
  •  Would you like to update product info, give feedback on images, or tell us about a lower price?

  • See Complete Table of Contents

Product Description

From the Inside Flap

Unfortunately, Excel is still all too often thought of as a hobbyist platform; that people develop spreadsheet-based applications in their spare time to help out with their day job. A brief look at the shelves of any bookstore seems to confirm that opinion. While there are myriad titles explaining how to use Excel and numerous titles about Excel and VBA, there are none that provide an overall explanation of how to develop professional-quality Excel-based applications. This is that book.

While all the other major languages seem to have a de-facto standard text that explains the commonly-agreed best practices for architecting, designing and developing applications in that language, Excel does not. This book aims to fill that gap.

All three authors are professional Excel developers who run our own companies developing Excel-based applications for clients ranging from individuals to the largest multinational corporations. This book details the approaches we use when designing, developing, distributing and supporting the applications we write for our clients.

This is not a beginner-level book. We assume that the reader will have read and (mostly) understood our Excel 2000/2002 VBA Programmer's Reference, John Walkenbach's Excel N Power Programming or similar titles.

The Excel Developer

Excel developers can be divided into five general categories, based on their experience and knowledge of Excel and VBA. To varying degrees, this book has something to offer each of them, but with a focus on the more advanced topics. Putting yourself into one of these categories might help you decide whether this is the right book for you.

The basic Excel User probably doesn't think of themselves as a developer at all. To them, Excel is no more than a tool to help them get on with their job. They start off using Excel worksheets as a handy place to store lists or perform simple repetitive calculations. As they discover more of Excel's functionality, their workbooks become more complex and start to include lots of worksheet functions, pivot tables and charts. There is little in this book for these people, though Chapter 4 – Worksheet Design details the best practices to use when designing and laying out a worksheet for data entry, Chapter 14 – Data Manipulation Techniques explains how to structure a worksheet and which functions and features to use to manipulate their lists and Chapter 15 - Advanced Charting Techniques explains how to get the most from Excel's chart engine. Using the techniques suggested in these chapters should help the basic Excel user avoid some of the pitfalls often encountered as their experience and the complexity of their spreadsheets increases.

The Excel Power User has a wide understanding of Excel's functionality, knows which tool or function is best to use in a given situation, creates complex spreadsheets for their own use and is often called on to help develop their colleagues' spreadsheets or to identify why their colleagues' spreadsheets don't work as intended. Occasionally the Power Users includes small snippets of VBA they found on the internet or created using the macro recorder, but struggles to adapt the code to their needs. As a result, they produce code that is untidy, slow and hard to maintain. While this book is not a VBA tutorial, the Power User has much to gain from following the best practices we suggest for both worksheets and code modules. Most of the chapters in the book will be relevant to the Power User who has an interest in improving their Excel and VBA development skills.

The VBA Developer makes extensive use of VBA code in their workbooks – often too much. They are typically either Power Users who have started to learn VBA too early or Visual Basic 6 developers that have switched to Excel VBA development. While they may be very proficient at VBA, they believe every problem must have a VBA solution and lack sufficient knowledge of Excel to make the best use of its features. Their solutions are often cumbersome, slow and make poor use of Excel's object model. This book has much to offer the VBA Developer to improve their use of Excel itself, including explaining how to architect Excel-based applications, the best practices for designing worksheets and how to use Excel's features for their data entry, analysis and presentation. The book also seeks to improve their Excel VBA development skills by introducing advanced coding techniques, detailing VBA best practices and explaining how to improve their code's performance.

The Excel Developer has realized the most efficient and maintainable applications are those which make the most of Excel's own functionality, augmented by VBA when appropriate. They are confident developing Excel-based applications for their colleagues to use or as part of an in-house development team. While their undoubted knowledge of Excel is put to good use in their applications, it also constrains their designs and they are reluctant to use other languages and applications to augment their Excel solutions. They have probably read John Walkenbach's Excel 97/2000/2002/2003 Power Programming and/or our own Excel 2000/2002 VBA Programmer's Reference and need a book to take them to the highest level of Excel application development – that of the professional developer. This is that book.

The Professional Excel Developer designs and develops Excel-based applications and utilities for their clients or employer that are robust, fast, easy to use, maintainable and secure. While Excel forms the core of their solutions, they include any other applications and languages that are appropriate, such as third-party ActiveX controls, automating other applications, using Windows API calls, using ADO to connect to external databases, C/C++ for fast custom worksheet functions, VB6 or VB.Net for creating their own object models and securing their code and XML for sharing data over the internet. This book teaches all those skills. If you are already a Professional Excel Developer, you will know learning never stops and will appreciate the knowledge and best practices presented in this book by three of your peers.

Excel as an Application Development Platform

If we look at Excel as a development platform and not just a spreadsheet, we can break it down into five fundamental components we can use for our applications:

The worksheet, charts etc, used as a user interface and presentation layer for data entry and reporting

  • The worksheet, used as a simple data store for lists, tables and other information used by our application

  • VBA, Excel's programming language and forms engine

  • The worksheet, used as a declarative programming language for high-performance numerical processing

The Excel object model, allowing programmatic control of (nearly) all of Excel's functionality, from both within Excel and from outside it.

The Worksheet as a Presentation Layer for Data Entry and Reporting

When most people think about Excel, they think in terms of typing numbers into cells, having some calculations update and seeing a result displayed in a different cell or on a chart. Without necessarily thinking in such terms, they are using the worksheet as a user interface for their data entry and reporting and are generally comfortable with these tasks. The in-cell editing, validation and formatting features built in to Excel provide an extremely rich and compelling data-entry experience, while the charting, cell formatting and drawing tools provide a presentation-quality reporting mechanism. It is hard to imagine the code that would be required if we tried to reproduce the experience using the form design tools available in most other development environments, yet it's there waiting for us to use in our Excel-based applications. The biggest problem we face is how to add some structure to the free-form grid of the worksheet, in order to present a simple and easy to use interface, while leveraging the rich functionality Excel provides. Chapter 4 – Worksheet Design introduces some techniques and best practices for developing worksheet-based data entry forms, while Chapter 15 - Advanced Charting Techniques discusses using charting capabilities.

The Worksheet as a Simple Data Store

What is a worksheet when it's never intended to be shown to the end user? At its simplest, it's no more than a large grid of cells in which we can store just about anything we want to – numbers, text, lists, tables or pictures. Most applications use some amount of static data or textual or graphical resources; storing that information in a worksheet makes it both extremely easy to access using VBA and simple to maintain. Lists and tables in worksheets can directly feed Excel's data validation (as shown in Chapter 4 – Worksheet Design), greatly simplify the creation and maintenance of command bars (Chapter 8 – Advanced Command Bar Handling) and allow us to construct dynamic userforms (Chapter 10 – Userform Design and Best Practices).

VBA – Excel's Programming Language

We expect most readers of this book will have at least some familiarity with VBA. If not, we suggest you read either our Excel 2000/2002 VBA Programmer's Reference or John Walkenbach's Excel 97/2000/2002/2003 Power Programming before continuing much further. Many people see the 'A' in VBA as meaning the language is somehow less than Visual Basic itself. In fact, both VB6 and Office 2000 and above use exactly the same DLL to provide the keyword, syntax and statements we program with. The only differences are the objects provided by the run-times (the VB runtime vs the Excel objects), the forms packages (VB's 'Ruby' forms vs Office UserForms) and that VB6 includes a compiler to create EXEs and DLLs, while VBA is always interpreted at run-time. Indeed, the Office Developer Edition (pre-Excel 2003) includes the same compiler VB6 uses, allowing us to compile (simple) DLLs from within the Office Visual Basic Editor.

Most beginner and intermediate VBA developers use VBA as a purely procedural language, with nearly all their code residing in standard modules. VBA also allows us to create applications using an Object Oriented Programming (OOP) approach, in which class modules are used to create our own objects. Chapter 7 – Using Class Modules to Create Objects and Chapter 11 – Interfaces explain how to use VBA in this manner, while basic OOP concepts (such as encapsulation) are used throughout the book.

Most of this book is dedicated to explaining advanced VBA techniques and a professional approach to application design and development which can put using VBA in Excel on a par with, and sometimes in front of, using VB6 or VB.Net for application development. We also show in Chapter 20 – Combining Excel and Visual Basic 6 and Chapter 22 – Using VB.Net and VSTO that the Excel developer can use the best of both worlds, by combining Excel, VB6 and/or VB.Net in a seamless application.

The Worksheet as a Declarative Programming Language

Take the following code:

dSales = 1000dPrice = 10.99dRevenue = dSales * dPrice

That could quite easily be a few lines of VBA. We give the variable dSales a value of 1000, the variable dPrice a value of 10.99, then calculate the revenue as sales times price. If we change the names of the variables and adjust the spacing, the same code could also be written as:

D1 =1000D2 =10.99D3 =D1*D2

which looks much more like worksheet cell addresses and formulas than lines of VBA code, showing that a worksheet is in fact a programming language of its own, if we choose to think of it in those terms. The IF() worksheet function is directly equivalent to the If...Then...Else VBA statement, while the judicious use of circular references and iteration can be equivalent to either the For...Next or Do...Loop structures.

Instead of stating a set of operations that are executed line-by-line, we 'program' in this language by stating a set of declarations (by typing formulae and values into worksheet cells), in any order we want to:

"D3 is the product of D1 and D2"

"D1 has the value 1000"

"D2 has the value 10.99"

To 'run' this program, Excel first examines all the declarations and builds a 'precedence tree' to identify which cells depend on the results of which other cells and thereby determine the most efficient order in which the cells must be calculated. The same precedence tree is also used to identify the minimum set of calculations that must be performed whenever the value in a cell is changed. The result is a calculation engine that is vastly more efficient than an equivalent VBA program, and one that should be used whenever complex numerical computations are required in your application.

Microsoft Excel (and other spreadsheet programs) are unique among application development platforms in providing both a procedural (VBA) and a declarative (the worksheet) programming language. The most efficient Excel application is one that makes appropriate use of both these languages.

It is assumed the reader of this book has some knowledge of Excel and worksheet functions, so Chapter 14 – Data Manipulation Techniques focuses on using advanced worksheet functions (including best-practice suggestions for handling circular references) and Excel's other data analysis features.

The Excel Object Model

While the other four components of the Excel Platform are invaluable in the development of applications, it is probably the richness of the Excel Object Model that provides the most compelling reason to base our application development on Excel. Almost everything that can be done through the user interface can also be done programmatically by using the objects in the Excel Object Model – accessing the list of number formats and applying a digital signature to a workbook are perhaps the most notable exceptions. The vast array of functionality exposed by these objects makes highly-complex applications fairly simple to develop – it becomes more an issue of when and how to efficiently plug the functionality together than to develop the functionality from scratch. This book does not attempt to explore and document all the back-waters of the object model, but instead makes continual use of the objects in our application development.


Through the course of this book, we will be both covering the concepts and details of each topic and applying those concepts to a time-sheet reporting and analysis application we'll be building. The chapters are therefore arranged approximately in the order in which we would design and develop an Excel application:

Chapter 2 discusses the different styles of application we may choose to create

Chapter 3 identifies some general best-practices for working with Excel and VBA, which will be followed throughout the book

Chapter 4 explains how to design and structure a worksheet for data entry and analysis

Chapters 5 and 6 introduce two specific types of application – the add-in and the dictator application, which will form the basis of our time-sheet reporting and analysis application

Chapters 7 to 13 discuss advanced techniques for a range of VBA topics

Chapters 14 and 15 explain how to efficiently utilise Excel's features within an application to analyse data and present results

Chapters 16 and 17 discuss techniques for debugging and optimising VBA code

Chapters 18 to 22 look outside of Excel, firstly by explaining how to automate other applications, then by explaining how to interact with Excel using C, Visual Basic and VB.Net

Chapter 23 focuses on how Excel applications can make use of the internet and XML

Chapter 24 completes the development by explaining how to provide help, secure, package and distribute the application.


Throughout the book, we will be illustrating the concepts and techniques we introduce by building a timesheet data-entry, consolidation, analysis and reporting application. This will be comprised of a data-entry template to be completed by each employee, with the data sent to a central location for consolidation, analysis and reporting. The end of each chapter will see a fully-working example of both parts of the application included on the CD, which will grow steadily more complex as the book progresses and thereby be applicable to different types of company.

In Chapter 4 – Worksheet Design, we will start with a very simple data-entry workbook and the assumption that each employee would email the completed file to a manager who would analyse the results manually – a typical situation for a company with maybe 10-20 employees.

By the end of the book, the data-entry workbook will use XML to upload the data to a web site, where it will be stored in a central database. The reporting application will extract the data from the database, perform various analyses and present the results as reports in Excel worksheets and charts.

Along the way, we will be re-writing some of the parts of the application in a number of different ways, to show how easy it can be to include other languages and delivery mechanisms in our Excel-based applications.

Each chapter may also include specific examples to illustrate key points that it would be too artificial to include in our main application.

Supported Versions

When developing an Excel application for a client, their upgrade policy will usually determine which version of Excel we must use; very few clients will agree to upgrade their desktops just so we can develop using the latest version, unless there is a compelling business requirement that can only be satisfied by using features the latest version introduces. There is so little difference between Excel 2000 and Excel 2003 that it is hard to imagine such a business requirement. An extremely unscientific poll (based on postings to the Microsoft support newsgroups) seems to indicate the following approximate usage for each version:

    Excel 97 10%

    Excel 2000 45%

    Excel 2002 40%

    Excel 2003 5%

There were a number of significant changes between Excel 97 and Excel 2000 for the application developer, including the switch from VBA5 to VBA6 and the introduction of modeless userforms, interfaces, COM Add-ins and support for ADO. We have therefore decided to use Excel 2000 as our lowest supported version and development platform, with our applications tested in the later versions. Most of the concepts detailed in this book apply equally to Excel 97, but our example timesheet application will use features Excel 97 does not support. Whenever we discuss a feature that is only supported in the later versions (such as XML import/export and VB.Net integration in Excel 2003), we will state which version(s) can be used.


The following text styles are used in this book:

Menu items and dialog text will be shown as Tools > Options > Calculation > Manual, where the '>' indicates navigation to a sub-menu or dialog tab.

Sub SomeCode() 'Code listings are shown like this 'With new or changed lines highlighted like this End Sub

Code within a paragraph will be shown like Application.Calculation = xlManual.

References to other chapters in the book will be shown as Chapter 7 – Using Class Modules to Create Objects.For clarity, the code shown in the book uses shorter line lengths, a reduced indent setting, fewer in-code comments and less error handling than the corresponding code in the workbooks.

The CD has three main directories, containing the following files:

\Tools contains a number of tools and utilities developed by the authors which we have found to be invaluable during our application development. The MustHaveTools.htm file contains details about each of these tools and links to other third-party utilities.

  • \Concepts has separate subdirectories for each chapter, each one containing example files to support the text of the chapter. For best results, we suggest you have these workbooks open while reading through the corresponding chapter.

  • \Application has separate subdirectories for each chapter, each one containing a version of our timesheet example application suite. Each chapter ends with a Practical Example section, explaining the changes that have been made to the timesheet application to implement some of the concepts introduced in the chapter.A quick search of the archives is almost certain to find a question similar to yours, already answered by one of the many professional developers who volunteer their time helping out in the newsgroups, including all three of this book's authors. On the rare occasions that the archives fail to answer your question, you're welcome to ask it directly in the newsgroups by connecting a news reader (such as Outlook Express) to and selecting an appropriate newsgroup, such as

    microsoft.public.excel.programming for VBA-related questions

    microsoft.public.excel.worksheet.functions for help with worksheet functions for help with Excel/VB.Net integration issues

    microsoft.public.excel.We have tried to provide sufficient information to enable you to apply these techniques in your own applications, but without getting bogged down in line-by-line explanations of entire code listings. We'd like to think we've been successful in our attempt, but encourage you to let us know what you think. Constructive criticism is always welcomed, as are suggestions for topics you think we may have overlooked. Please send an email to one (or all) of the following:

    Stephen Bullen:

    Rob Bovey:

    John Green:

    © Copyright Pearson Education. All rights reserved.

From the Back Cover

Finally, there's a book that treats Excel as the powerful development platform it really is, and covers every facet of developing commercial-quality Excel applications.

This is not a book for beginners. Writing for professional developers and true Excel experts, the authors share insider's knowledge they've acquired building Excel applications for many of the world's largest companies—including Microsoft. Professional Excel Development demonstrates how to get the utmost from Excel, addressing everything from application architectures through worksheet and userform design, charting, debugging, error handling and optimizing performance. Along the way, the authors offer best practices for every type of Excel development, from building add-ins through interacting with XML Web services. Coverage includes

  • Building add-ins to provide new Excel functions

  • Designing effective worksheets, userforms and other user interface elements

  • Leveraging Excel's powerful data analysis features

  • Creating sophisticated custom charts

  • Handling errors, debugging applications and optimizing performance

  • Using class modules and interfaces to create custom objects

  • Understanding Windows API calls: when to use them, and how to modify them

  • Adding worksheet functions with

  • C-based XLLs

  • Programming with databases

  • Controlling external applications from Excel

  • Integrating with Visual Basic 6, VB.NET and Visual Studio Tools for Office

  • Using XML to import and export data and communicate with Web services

  • Providing help, securing, packaging and distributing

The accompanying CD-ROM contains the book's sample timesheet application at every stage of construction, with detailed code comments. It also includes many examples of the concepts introduced in each chapter and a collection of the authors' Excel development utilities.

© Copyright Pearson Education. All rights reserved.

See all Product Description

Inside This Book

(Learn More)
First Sentence
Microsoft Excel is much, much more than just a spreadsheet. Read the first page
Browse Sample Pages
Front Cover | Copyright | Table of Contents | Excerpt | Index
Search inside this book:

Customer Reviews

5.0 out of 5 stars
5 star
4 star
3 star
2 star
1 star
See all 3 customer reviews
Share your thoughts with other customers

Top Customer Reviews

Format: Paperback
In this excellent resource for intermediate to advanced Excel users, every chapter has practical ideas that will help you design robust applications more quickly and consistently. The 'Best Practices' and 'Worksheet Design' chapters have valuable tips for setting up your workbooks, even if you won't use programming. Advanced users can add to their programming skills, by applying the book's techniques for using API calls, creating add-ins, building custom charts, and many more features.
You can work through the book's exercises, using the CD's sample files, to build the sample application. Or skim through the book, and use it as a reference for its advanced topics. Either way, the book will pay for itself many times over.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse
Format: Paperback
I have been programming Excel for over 3 years now putting together some pretty complex sheets and VBA code. This book makes you think differently on you spreadsheet construction to the way you program VBA. I found the chapters on Visual Basic 6 the most interesting.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse
Format: Paperback
I have been doing Excel/VBA development for a long time, but I still learned a lot while reading this book - and I will definitely be incorporating some of the best practices. Money more than well spent.
Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again.
Report abuse

Most Helpful Customer Reviews on (beta) HASH(0xaadbfb4c) out of 5 stars 30 reviews
186 of 192 people found the following review helpful
HASH(0xaadda5ac) out of 5 stars A remarkable book on creating complete Excel-based apps April 13 2005
By R. Lodato - Published on
Format: Paperback
Over the years, I've read a number of books on Excel programming. Each one seemed much like the previous one, generally talking about writing macros and creating data-entry forms. Professional Excel Development takes the concept quite a bit farther. Rather than giving you the same old tired lessons, this book goes into detail on exactly how to build professional level applications. It even explains how to make your Excel-based application look as though Excel had nothing to do with it. Suffice it to say, this ain't your daddy's Excel book.

The authors, Stephen Bullen, Rob Bovey, and John Green, show a level of sophistication well beyond the norm. They'd rather teach you the proper way to program instead of teaching you how to use Excel. In fact, the first thing they do is distinguish five different levels of usage: Excel users, Excel power users, VBA developers, Excel developers, and professional Excel developers. The book is written for the highest level, so expect a lot of depth. The entire structure of the book builds around a time-entry application that is developed from a simple spreadsheet to a full-blown, production quality program. A CD-ROM is also included with all of the source code and multiple examples that are scattered throughout the book.

Reading Professional Excel Development is not something to be taken lightly. The authors have done a fine job putting together a cohesive methodology for using Excel as an application development platform. I know of no other book that covers this platform in such depth. At times I found myself lost in the details, but I suspect a "professional Excel developer" (which I am not) would be delighted in the depth of description and copious examples provided.

Professional Excel Development is an extremely well-written book that covers the use of Excel to a depth few authors have dared to tread. The text gives you the tools to build applications that are much more than automated spreadsheets. Almost any program your imagination can devise can be created using the techniques given, which is a testimony to the power of Excel. Bash Microsoft if you want, but they do sometimes come up with a winner, and Professional Excel Development allows you to take full advantage of its capabilities. I highly recommend this book.
74 of 75 people found the following review helpful
HASH(0xaadda9b4) out of 5 stars Wisdom Packed into Every Page! Brilliantly Written Jan. 12 2006
By Eric Green - Published on
Format: Paperback
Even if this book was not as well-written and insightful as it is, there is simply no other VBA book that comes close, in content and quality, on building professional-grade Excel applications. If that is your field, you have a lot to lose by not getting it. (I've stalked several large bookstores here in New York City and Amazon, of course.)


This book is a goldmine of application-design wisdom for developers seeking to write professional, VBA applications that stand the test of time. Even for none-professionals, like myself, the book contains a plethora of VBA "best practices" that can be put to immediate use. The authors are clearly sharing with you years of personal, professional experience, and top-notch acumen.

Because I am not the most attentive reader, the first thing I find myself looking at is how well-written a book is (a quality which makes me a Walkenbach fan). I am impressed by how "thorough", "well put", and "to the point" most sentences in this book are - from the first to last word!


> Imagine building almost bullet-proof applications. The user never sees an ugly VBA error message, and, if an error occurs, the developer usually knows very quickly what the cause is. I do this now...courtesy of the book's excellent chapter 12 on Error Handling and a thorough chapter on Debugging (Chapter 16).

> Chapter 17 - Optimizing VBA Performance (and a little digression on creative thinking) is a must read. This alone is worth the book price!

> Imagine a progress-bar display that you can easily "plug in" to any VBA program you write. Now you can...this book shows you how, in Chapter 11.

> Do you understand how to use API functions, and which ones are most useful for Excel. Read Chapter 9. I first found this chapter online (, which led me to this book, in the first place. Knowing API, will allow you to tap into the entire windows operating system from VBA.

> Do you really understand you understand Interfaces and how you can put them to use in VBA?

Chapter 7 on Classes is worth a solid read. (Even if you've read chapter 5 & 6, in Ken Getz's VBA Developer's handbook). Chapter 11, demonstrates the usefulness of Interfaces, with two great examples (Sorting and Progress-Display).

> What if you wish to write code in .Net, C, (or VB6) yet still work with EXCEL or connect with your VBA code? This book shines on this topic with three chapters (20 - 22). I have not yet seen a discussion as thorough in another VBA book. (If I've missed one, please add me to your Amazon buddy list and email me. Thanks.)

> If you are not a database expert but want a good overview of using Excel to work with Databases, I suggest your read Chapter 13.

> How do "you" currently go about building your Application's Menubars and ToolBars? Most books recommend a table-driven system of some sort or another, which is what I was using, and, indeed, this book does, too...but wait until you see the authors' version in Chapter 8. In fact, I made the painful decision to give up my habit of doing things after spending time with this chapter, and the authors' wisdom is paying off!

As a reviewer from California put it, "Finally, The sequel to Walkenbach for developers is here!", and another from New Delhi, "Every line that I have read so far has a meaning. The book is written in a simple fluent language and brings out the point very clearly. It will take me to the next level of programming."

I could not agree more!


As you would expect, all code examples for the book (and more) are found on an accompanying CD. The excellent commenting of code, aids learning.

I do have one peeve: The book is not available in searchable PDF format. To be fair to the authors...if they did...your grandmother would probably have it by now ;-) (For a fee you can download chapters in html from [...])

I also use two, must-have, VBA Add-Ins produced by Stephen Bullen and Rob Bovey respectively, free of charge from their respective websites.

Stephen Bullen's Auto-Indenter: with a simple "right click", your VBA code is automatically indented at all the right places (with options to suit your personal preferences). Think of how much time you spend tabbing and moving lines about!

Rob Bovey's code-cleaner: which cleans up your VBA file and shrinks its size significantly. (It also gets rid of a mysterious VBA error, the name of which escapes me now).
66 of 67 people found the following review helpful
HASH(0xaaddaa2c) out of 5 stars Finally! The sequel to Walkenbach for developers is here! Aug. 31 2005
By Amazon Customer - Published on
Format: Paperback Verified Purchase
If you cherished the Walkenbach's book for years and were longing for the advanced part to follow some day, you are there. So what if it is by different author.

Once I got the book and browsed through for couple of hours I already was eager to share my excitement. But... decided to do some more reading to make sure that the quality holds throughout the book. And I am still impressed immensely. This is an outstanding book

Buy the book even just for Chapter 20. Combining Excel and Visual Basic 6.

The rumors about the death of VB6 are highly exaggerated. Even if you believe otherwise, the techniques described for using VB forms in VBA will give you a good grasp how to achieve the same thing with other languages.

Basically, if you are a developer and were looking for a book to let you outgrow the limitations of VBA, this is THE BOOK.

If you are a power user and would like to stay in confines of Excel and VBA, then most probably Walkenbach's book will be sufficient, although reading this book will give you an incentive to do more.
43 of 45 people found the following review helpful
HASH(0xaadda7d4) out of 5 stars Review of Professionel Excel Development March 6 2005
By XL-Dennis - Published on
Format: Paperback
The book is targeting power users and professional developers and if You consider Yourself to be in this group then this book is for you.

It's a well written book, with a high technical level and with a good structure.

But as with every book it has its strong parts as well as weak parts. Weak parts in terms of that some chapters are overviews only and do not give any depth on the subjects they cover.

The chapters that cover best practice are all excellent. Here the authors share all their experience & knowledge by discussion application structures, structure for notation, advanced techniques for userforms and toolbars, error handling, debugging and many other things. The chapters also cover well how to create and use add-ins and so called user defined functions (UDFs).

The chapters that deal with VB 6.0 & Excel are all excellent too. A welcome contribution is that this book leverages many of the good techniques we use in MS VB 6.0 into Excel, especially when it comes to userforms.

The book covers in a nice way how to create & use classes, create & use ActiveX DLL and front-loaders for Excel in MS VB 6.0.

A whole chapter is devoted to Visual Tools for Office System (VSTO) but point also out all the present shortcomings of VSTO.

As with every book nowadays this book also includes a chapter about XML which is well written and with a high technically level. However the chapter is rather short which tend to compress the content.

If the above is what You're looking for then this book is a must have.

The following chapters provide overviews of the subjects:

Worksheet Design

Programming with Database

Data Manipulation techniques

Windows API

Creating XLLs with C#

If You're looking to get more then an introduction or compressed picture on these subject then there exist other books that will give You more.

The book uses an example, PETRAS Timesheet, to exemplify the subject that is covered in each chapter. Some readers will appreciate it very much while other (like me) will skip it. Anyway, PETRAS timesheet is also well worked out like the rest of the book.

In order to work through both the PETRAS Timesheet case and all the examples the book is given You need to have access to the following softwares:

MS Office 2003 Professional (minimum requirement for the VSTO-chapter)

MS Visual Basic 6.0 (no longer available for sale from Microsoft)

Visual Studio.NET (C#)

VSTO (Separate tool that require Visual Studio.NET)

Kind regards,

Dennis Wallentin aka XL-Dennis
29 of 29 people found the following review helpful
HASH(0xaaddaf18) out of 5 stars Looking to take your Excel to the next level? BUY THIS BOOK!!!! March 9 2006
By Mr. Shane Mcgrath - Published on
Format: Paperback
I've been working with Excel for years...

This is by far the BEST EXCEL DEVELOPMENT BOOK I've ever seen. It paid for itself many, many times over in the theory, and code tricks I've learned from it.

BEWARE BEGINNERS....if you're unfamiliar with Excel or VBA development, this isn't the book for you...start with Excel 2003 Power Programming by John Walkenbach.

If you're looking to take your spreadsheets to the next level, BUY THIS BOOK...IT RULES