To order this book through Amazon.com, please click here
To gain complete control over Microsoft Excel, you need to tap into the Excel object model using the Visual Basic For Applications (VBA) programming language. The purpose of Writing Excel Macros is to provide the reader with the necessary skills to write Excel VBA programs. No previous knowledge of VBA programming is necessary to read this book. On the other hand, the book is sufficiently detailed to give you a solid and thorough understanding of both the VBA language and the Excel object model.
Writing Excel Macros focuses on:
Personally, I hate long, wordy, overblown 1000+ page books half of which seem to be devoted to the author's "humorous" anecdotes, so I wrote Writing Excel Macros in a terse, no-nonsense manner that is characteristic of all my books. Instead of a slow-paced tutorial with a lot of hand-holding, I tried to give you the insight you need to program effectively. The book includes several useful examples that solve practical programming problems, like dealing with Excel charts and pivot tables.
This book is intended for those who want to learn how to program Microsoft Excel 97 or later.
We should begin by addressing the question, "Why would anyone want to program Microsoft Excel?" The answer is simple: to get more power out of this formidable application. As you will see, there are many things that you can do at the programming level that you cannot do at the user-interface level, that is, with the menus and dialog boxes of Excel. Chapter 1 provides some concrete examples of this.
This book provides an introduction to programming the Excel object model using Visual Basic for Applications (VBA). However, it is not intended to be an encyclopedia of Excel programming. The goal here is to acquaint you with the main points of Excel programming-enough so that you can continue your education (as we all do) on your own. The point is that, after reading this book, you should not need to rely on any other source except the Excel VBA help file or a good Excel VBA reference book and a nice object browser (such as my object browser, a coupon for which is included in the back of this book).
It has been my experience that introductory programming books (and, sadly, most trade computer books) tend to do a great deal of handholding (to put the matter euphemistically). They cover concepts at a very slow pace primarily by padding them heavily with overblown examples and irrelevant anecdotes that only the author could conceivably find amusing, especially the second or third time that we are forced to read them while looking for a few facts. Frankly, I find such unprofessionalism incredibly infuriating. In my opinion, it does the reader a great disservice to take perhaps 400 pages of information and pad it with another 600 pages of irrelevant junk.
There is no doubt in my mind that we need much more professionalism from our authors, but it is not easy to find writers who have both the knowledge to write about a subject and the training (or talent) to do so in a pedagogical manner. (I should hasten to add that there are a number of excellent authors in this area-it's just that there are not nearly enough of them.) Moreover, publishers tend to encourage the creation of 1000 page plus tombs because of the general feeling among the publishers that a book must be physically wide enough to stand out on the bookshelf! I shudder to think that this might, in fact, be true. (I am happy to say that O'Reilly does not seem to have succumbed to this opinion.)
On the other hand, Writing Excel Macros is not a book in which you will find much handholding. (Nor will you find much handholding in any of my books.) The book proceeds at a relatively rapid pace from a general introduction to programming, through an examination of the Visual Basic for Applications programming language to an overview of the Excel object model. Given the enormity of the subject, not everything is covered, nor should it be. Nevertheless, the essentials of both the VBA language and the Excel object model are covered so that, when you have finished the book, you will know enough about Excel VBA to begin creating effective working programs.
I have tried to put my experience as a professor (about 20 years) and my experience writing books (about 30 of them) to work here to create a true learning tool for my readers. Hopefully, this is a book that can be read (perhaps more than once) and also serve as a useful reference.
Preface
1. Introduction
Selecting Special Cells
Setting a Chart's Data Point Labels
2. Preliminaries
What Is a Programming Language?
Programming Style
3. The Visual Basic Editor, Part I
The Project Window
The Properties Window
The Code Window
The Immediate Window
Arranging Windows
4. The Visual Basic Editor, Part II
Navigating the IDE
Getting Help
Creating a Procedure
Run Time, Design Time, and Break Mode
Errors
Debugging
Macros
5. VBA I: Variables, Data Types and Constants
Comments
Line Continuation
Constants
Variables and Data Types
VBA Operators
6. VBA II: Functions and Subroutines
Calling Functions
Calling Subroutines
Parameters and Arguments
Exiting a Procedure
Public and Private Procedures
Project References
7. VBA III: Built-In Functions and Statements
The MsgBox Function
The InputBox Function
VBA String Functions
Miscellaneous Functions and Statements
Handling Errors in Code
8. VBA IV: Control Statements
The If
Then Statement
The For Loop
The For Each Loop
The Do Loop
The Select Case Statement
A Final Note on VBA
9. Object Models
Objects, Properties and Methods
Collection Objects
Object Model Hierarchies
Object Model Syntax
Object Variables
10. Excel Applications
Providing Access to an Application's Features
Where to Store an Application
Excel Templates
Excel Add-Ins
An Example Add-In
11. Excel Events
The EnableEvents Property
Events and the Excel Object Model
Accessing an Event Procedure
Worksheet Events
WorkBook Events
Chart Events
Application Events
QueryTable Refresh Events
12. Custom Menus and Toolbars
Menus and Toolbars: An Overview
The CommandBars Collection
Creating a New Menu Bar or Toolbar
Command Bar Controls
Built-In Command Bar Control IDs
Example: Creating a Menu
Example: Creating a Toolbar
Augmenting the SRXUtils Application
13. Built-In Dialog Boxes
The Show Method
14. Custom Dialog Boxes
What Is a UserForm Object?
Creating a UserForm Object
ActiveX Controls
Adding UserForm Code
Excel's Standard Controls
Example: The ActivateSheet Utility
ActiveX Controls on Worksheets
15. The Excel Object Model
A Perspective on the Excel Object Model
Excel Enums
The VBA Object Browser
16. The Application Object
Properties and Methods of the Application Object
Children of the Application Object
17. The Workbook Object
The Workbooks Collection
The Workbook Object
Children of the Workbook Object
Example: Sorting Sheets in a Workbook
18. The Worksheet Object
Properties and Methods of the Worksheet Object
Children of the Worksheet Object
Example: Printing Sheets
19. The Range Object
The Range Object as a Collection
Defining a Range Object
Additional Members of the Range Object
Children of the Range Object
Example: Getting the Used Range
Example: Selecting Special Cells
20. Pivot Tables
Pivot Tables
The PivotTable Wizard
The PivotTableWizard Method
The PivotTable Object
Properties and Methods of the PivotTable Object
Children of the PivotTable Object
The PivotField Object
The PivotCache Object
The PivotItem Object
Calculated Items and Calculated Fields
Example: Printing Pivot Tables
21. The Chart Object
Chart Objects and ChartObject Objects
Creating a Chart
Chart Types
Children of the Chart Object
The Axes Collection
The Axis Object
The ChartArea Object
The ChartGroup Object
The ChartTitle Object
The DataTable Object
The Floor Object
The Legend Object
The PageSetup Object
The PlotArea Object
The Series Object
Properties and Methods of the Chart Object
Example: Scrolling Through Chart Types
Example: Printing Embedded Charts
Example: Setting Data Series Labels
A. The Shape Object
The Shape Object
Z-Order
Creating Shapes
B. Getting the Installed Printers
C. Command Bar Controls and Face IDs
Built-In Command Bar Controls
Face IDs
D. Programming Excel from Another Application
E. High-Level and Low-Level Languages
BASIC
Visual Basic
C and C++
Visual C++
Pascal
FORTRAN
COBOL
LISP
To order this book through Amazon.com, please click
here
Return to Roman Press Home Page
Return to computer books' main page