viii 
Contents
 Extend Excel and Visual Basic 
237
Creating Custom Functions  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
Use a Custom Function from a Worksheet  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Add Arguments to a Custom Function. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
Make a Function Volatile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
Make Arguments Optional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Use a Custom Function from a Macro  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Handling Errors  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Syntax Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
Compiler Errors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Logic Errors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Run-Time Errors  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Ignore an Error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Ignore an Error Safely by Using a Subroutine . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Add Arguments to Generalize a Subroutine  . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Check for an Error  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Loop Until an Error Goes Away  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Trap an Error. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Key Points  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
 Launch Macros with Events 
261
Creating Custom Command Buttons  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Try the ZoomIn and ZoomOut Macros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Enable the Developer Tab in the Ribbon  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Create a Custom Command Button  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Link a Command Button to a Macro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Sidebar: ActiveX Controls and Forms Controls  . . . . . . . . . . . . . . . . . . . . . . . . . 268
Create an Event Handler on Your Own. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Make a Button Respond to Mouse Movements . . . . . . . . . . . . . . . . . . . . . . . . 270
Explore the Visual Basic Project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Handling Worksheet and Workbook Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
Run a Procedure When the Selection Changes. . . . . . . . . . . . . . . . . . . . . . . . . 274
Handle an Event on Any Worksheet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
Pdf rotate just one page - rotate PDF page permanently in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Empower Users to Change the Rotation Angle of PDF File Page Using C#
how to rotate a pdf page in reader; rotate all pages in pdf and save
Pdf rotate just one page - VB.NET PDF Page Rotate Library: rotate PDF page permanently in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
PDF Document Page Rotation in Visual Basic .NET Class Application
pdf rotate single page; permanently rotate pdf pages
Contents   
ix
Suppress a Workbook Event. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Cancel an Event  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Sidebar: The Ribbon and Visual Basic for Applications  . . . . . . . . . . . . . . . . . . 281
Key Points  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
10  Use Dialog Box Controls on a Worksheet 
283
Using a Loan Payment Calculator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Create a Loan Payment Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Use the Loan Payment Model  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Creating an Error-Resistant Loan Payment Calculator. . . . . . . . . . . . . . . . . . . . . . . . 287
Restrict the Years to a Valid Range  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Restrict the Down Payment to Valid Values. . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Restrict the Interest Rate to Valid Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Retrieving a Value from a List  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Prepare a List of Cars. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Retrieve the Price from the List  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Set the Column Widths. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Protecting the Worksheet  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Create an Event Handler for the Combo Box  . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Protect the Worksheet  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Key Points  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
11  Create a Custom Form 
303
Creating a Form’s User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Create the Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Add Option Buttons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Add a Check Box with a Related Text Box  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Initialize the Text Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Add Command Buttons  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
Set the Tab Order for Controls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Preparing a Form’s Functionality. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Create Custom Views on a Worksheet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Create a Macro to Switch Views. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Dynamically Hide Columns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
C# PDF: C# Code to Process PDF Document Page Using C#.NET PDF
Able to separate one PDF file into two PDF PDF page processing functions by just following attached C# PDF Page Processing: Rotate PDF Page - detailed guidance
pdf page order reverse; pdf reverse page order online
C# PDF Page Move Library: re-order PDF pages in C#.net, ASP.NET
library control, developers can swap or adjust the order of all or several PDF document pages, or just change the position of certain one PDF page in an
how to rotate page in pdf and save; how to rotate pdf pages and save permanently
Contents
Implementing a Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Implement Option Buttons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Implement a Check Box  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Check for Errors in an Edit Box. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Print the Report  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Launch the Form  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Key Points  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  339
Microsoft is interested in hearing your feedback so we can continually improve our books and learning  
resources for you. To participate in a brief online survey, please visit: 
www.microsoft.com/learning/booksurvey/
What do you think of this book? We want to hear from you!
Appendix   A Complete Enterprise Information System . . . . . . . . . . . . . . . . . . . . . . . . 335
Process Images in Web Image Viewer | Online Tutorials
Easy to rotate the current picture or file page through just a button click; Commonly used document types are supported, including PDF, multi-page TIFF and
pdf page order reverse; rotate pdf pages on ipad
VB.NET Create PDF Library SDK to convert PDF from other file
be easily integrated into many MS Visual Studio .NET applications to create PDF with just a few VB.NET: Create a New PDF Document with One Blank Page.
rotate all pages in pdf; saving rotated pdf pages
xi
About the Author
Reed Jacobson is a Senior Architect with Hitachi Consulting, an international manage-
ment and technology consulting fi rm. He worked as a Software Application Specialist 
for Hewlett-Packard for 10 years and ran his own consulting fi rm for 5 years.
Reed received a BA degree in Japanese and Linguistics. He also received an MBA 
degree from Brigham Young University and a graduate fellowship to study Linguistics 
at Cornell University.
In addition to authoring this book, Reed is the author of Excel Trade Secrets for Windows, 
Microsoft Excel Advanced Topics Step by Step, Microsoft Offi ce 2000 Expert Companion, 
and Microsoft SQL Server Analysis Services Step by Step. He has given presentations at 
Microsoft and other conferences, and has taught courses around the world. 
VB.NET PDF Page Extract Library: copy, paste, cut PDF pages in vb.
functions, including extracting one or more page(s) from PDF document. To utilize the PDF page(s) extraction function in VB.NET application, you just need to
how to rotate one pdf page; rotate pdf pages and save
VB Imaging - VB MSI Plessey Barcode Tutorial
Resolution = 96 'set rotation barcode.Rotate = Rotate.Rotate0 barcode 100F, 100F)) docx.Save("C:\\Sample_Barcode.pdf"). Below is just an example of generating an
rotate all pages in pdf and save; rotate pages in pdf online
xiii
Features and Conventions of 
This Book
This book has been designed to lead you step by step through all the tasks you are 
most likely to want to perform when creating macros in Microsoft Offi ce Excel 2007. If 
you start at the beginning and work your way through all the exercises, you will gain 
enough profi ciency to be able to perform many types of tasks by using macros. Each 
topic is self contained, but later chapters do assume that you know the information 
presented in earlier chapters. If you have worked with a previous version of Excel, or 
if you completed all the exercises and later need help remembering how to perform 
a procedure, the following features of this book will help you look up specifi c tasks 
related to Excel 2007 macros:
O
Detailed table of contents.    Look up the topic you want in the list of the topics and 
sidebars within each chapter.
O
Chapter thumb tabs.   Easily locate the beginning of the chapter you want.
O
Topic-specifi c running heads.  Within a chapter, quickly locate the topic you want 
by looking at the running head of odd-numbered pages.
O
Detailed index.   Look up specifi c tasks and features and general concepts in the 
index, which has been carefully crafted with the reader in mind.
O
Companion CD.  Find the practice fi les needed for the step-by-step 
exercises, as well as a fully searchable electronic version of this book and other 
useful resources.
If you are new to Excel 2007, you might not have had much time to explore the 
Microsoft Offi ce Fluent user interface, which was introduced with the 2007 Microsoft 
Offi ce System. The step-by-step instructions in this book often tell you to click buttons 
on the Offi ce Fluent Ribbon, identifying the tab to click and the group in which the but-
ton is located. You should have no diffi culty following these instructions.
You  can save time when you use this book by understanding how the Step by Step series 
shows special instructions, keys to press, buttons to click, and so on. The table on the 
next page tells you what you need to know.
VB.NET TIFF: Rotate TIFF Page by Using RaterEdge .NET TIFF
specific formats are: JPEG, PNG, GIF, BMP, PDF, Word (Docx the target TIFF page(s) accurately and quickly; Rotate single or TIFF page(s) at one time just as you
how to rotate one page in pdf document; pdf expert rotate page
C# Imaging - C# MSI Plessey Barcode Tutorial
96;// set resolution barcode.Rotate = Rotate.Rotate0;// set 100F, 100F)); docx.Save(outputDirectory + "Sample_Barcode.pdf"); }. Below is just an example of
rotate pages in pdf expert; rotate individual pages in pdf
xiv 
Features and Conventions of This Book
Convention
Meaning
This icon indicates a reference to the book’s companion CD.
USE
This paragraph before the fi rst exercise in a chapter indicates the 
practice fi les that you will use when working through the exercises.
BE SURE TO
This paragraph before the fi rst exercise in a chapter indicates any pre-
requisite requirements that you should attend to before beginning 
the exercise, or actions you should take to restore your system after 
completing the exercise.
OPEN
This paragraph before the fi rst exercise in a chapter indicates fi les that 
you should open before beginning the exercise.
CLOSE
This paragraph at the end of a chapter provides instructions for closing 
open fi les or programs before moving on to another topic.
1
2
Blue  numbered steps guide you through step-by-step exercises.
1
2
Black numbered steps guide you through procedures in expository 
text.
An arrow indicates an exercise that has only one step.
See Also
These  paragraphs direct you to more information about a given topic 
in this book or elsewhere.
Troubleshooting These paragraphs provide a helpful hint or information about other 
available options.
Tip
These  paragraphs provide a helpful hint or shortcut that makes work-
ing through a task easier, or information about other available options.
Important
These  paragraphs point out information that you need to know to 
complete a procedure.
Ctrl+Home
A plus sign (+) between two key names means that you must hold 
down the fi rst key while you press the second key. For example, 
“press Ctrl+Home” means “hold down the Ctrl key while you press 
the Home key.”
Program interface 
elements
In   steps, the names of program elements, such as buttons, commands, 
and dialog boxes, are shown in black bold characters.
User input
Anything  you should type appears in blue bold characters.
Italic
Italic font is used for emphasis and to introduce new terms.
«
VB.NET Word: How to Process MS Word in VB.NET Library in .NET
How to Rotate, Merge Word Documents Within VB.NET of the web page, here we just describe each Word powerful & profession imaging controls, PDF document, image
how to save a pdf after rotating pages; rotate individual pages in pdf reader
C# Image Convert: How to Convert MS PowerPoint to Jpeg, Png, Bmp
RasterEdge.XDoc.PDF.dll. The last one is for rendering PowerPoint file to raster image Gif. This demo code just converts PowerPoint first page to Gif image.
rotate single page in pdf reader; rotate single page in pdf file
xv
Using the Book’s CD 
The companion CD included with this book contains the practice fi les you’ll use as you 
work through the book’s exercises, as well as other electronic resources that will help 
you learn how to use VBA macros with Microsoft Offi ce Excel 2007. 
What’s on the CD?
The following table lists the practice fi les supplied on the book’s CD. Note that some 
practice fi les are used in more than one chapter. 
Tip 
The ExcelVBA07SBS folder contains a subfolder named Finished. This folder contains 
the fi nished version of each chapter’s workbook. The Finished folder is never explicitly 
referred to in the text, but it is there for your reference. If you have trouble getting a 
macro to work properly, you can look at the macros in the Finished folder to help 
troubleshoot the problem. 
Chapter
In the ExcelVBA07SBS 
folder
In the Finished folder
Chapter 1: 
Make a Macro Do Simple Tasks
Budget.xlsx
Chapter01.xlsm
Chapter 2: 
Make a Macro Do Complex Tasks
Nov2007.txt
Orders.xlsx
Chapter02.xlsm
Chapter 3: 
Explore Workbooks 
and Worksheets
None
None
Chapter 4: 
Explore Range Objects
Ranges.xlsx
Chapter04.xlsm
Chapter 5: 
Explore Data Objects
Orders.xlsx
Orders.accdb
Chapter05.xlsm
Chapter 6: 
Explore Graphical Objects
Graphics.xlsx
MakeLogo.txt
MakeMap.txt
Chapter06.xlsm
Chapter 7: 
Control Visual Basic
Flow.xlsx
Flow.txt
Chapter07.xlsm
The CD that accompanies the print edition of this book is not available with this eBook edition, although select CD 
content is available for download at http://www.microsoftpressstore.com/title/9780735624023.
xvi 
Using the Book’s CD
Chapter
In the ExcelVBA07SBS 
folder
In the Finished folder
Chapter 8: 
Extend Excel and Visual Basic
Structure.txt
Chapter08.xlsm
Chapter 9: 
Launch Macros with Events
Events.txt
Chapter09.xlsm
Chapter 10: 
Use Dialog Box Controls 
on a Worksheet
Loan.xlsx
Chapter10.xlsm
Chapter 11: 
Create a Custom Form
Budget.xlsx
Chapter11.xlsm
Appendix: 
A Complete Enterprise 
Information System
EIS.xlsm
Orders.accdb
None
Important 
The companion CD for this book does not contain the Microsoft Offi ce Excel 
2007 software. You should purchase and install that program before using this book. 
Minimum System Requirements
Step-by-Step Exercises
In addition to the hardware, software, and connections required to run the 2007 
Microsoft Offi ce system, you will need the following to successfully complete the 
exercises in this book: 
O
Excel 2007 
O
10 MB of available hard disk space for the practice fi les 
2007 Microsoft Offi ce System
For this book, you will not need the complete 2007 Microsoft Offi ce system. You will 
need only Excel. The following is a reference for your convenience. 
Using the Book’s CD   
xvii
Tip 
If you are a Microsoft .NET Developer and want to build an application based on Excel, 
the contents of Chapters 3, 4, 5, and 6 will be particularly useful to help you understand the 
Excel object model. To use Microsoft .NET to develop applications for Excel, you will need 
Microsoft Visual Studio 2005 with a .NET language, as well as Microsoft Visual Studio 2005 
Tools for the 2007 Microsoft Offi ce System (VSTO 2005 SE), which is downloadable from the 
Microsoft.com Web site. 
The 2007 Microsoft Offi ce system includes the following programs: 
O
Microsoft Offi ce Access 2007 
O
Microsoft Offi ce Communicator 2007 
O
Microsoft Offi ce Excel 2007 
O
Microsoft Offi ce Groove 2007 
O
Microsoft Offi ce InfoPath 2007 
O
Microsoft Offi ce OneNote 2007 
O
Microsoft Offi ce Outlook 2007 
O
Microsoft Offi ce Outlook 2007 with Business Contact Manager 
O
Microsoft Offi ce PowerPoint 2007 
O
Microsoft Offi ce Publisher 2007 
O
Microsoft Offi ce Word 2007 
No single edition of the 2007 Microsoft Offi ce system installs all of the above programs. 
Specialty programs available separately include Microsoft Offi ce Project 2007, Microsoft 
Offi ce SharePoint Designer 2007, and Microsoft Offi ce Visio 2007. 
To run these programs, your computer needs to meet the following minimum 
requirements: 
O
500 megahertz (MHz) processor 
O
256 megabytes (MB) RAM 
O
CD or DVD drive 
O
2 gigabyte (GB) hard disk space for installation (a portion of this disk space will be 
freed if you select the option to delete the installation fi les) 
Tip 
Hard disk requirements will vary depending on confi guration; custom installation 
choices may require more or less hard disk space. 
 Keyboard and mouse or compatible pointing device
 Internet connection, 128 kilobits per second (Kbps) or greater, for download and 
activation of products, accessing Microsoft Office Online and online Help topics, 
and any other Internet-dependent processes
 Windows Vista or later, Microsoft Windows XP with Service Pack 2 (SP2) or later, or 
Microsoft Windows Server 2003 or later
 Windows Internet Explorer 7 or Microsoft Internet Explorer 6 with service packs
The 2007 Microsoft Office suites, including Office Basic 2007, Office Home & Student 2007, 
Office Standard 2007, Office Small Business 2007, Office Professional 2007, Office Ultimate 
2007, Office Professional Plus 2007, and Office Enterprise 2007, all have similar requirements.
nstalling the Practice Files
You need to install the practice files to a suitable location on your hard disk before you 
can use them in the exercises. Follow the steps below.
Note 
If for any reason you are unable to install the practice files from the CD, the files can 
also be downloaded from the Web at 
http://wwww.microsoftpressstore.com/title/9780735624023.
1. 
Remove the companion CD from the envelope at the back of the book, and insert 
it into the CD drive of your computer.
The Step By Step Companion CD License Terms appear. Follow the on-screen direc-
tions. To use the practice files, you must accept the terms of the license agreement. 
After you accept the license agreement, a menu screen appears.
Important 
If the menu screen does not appear, click the Start button and then click 
Computer. Display the Folders list in the Navigation Pane, click the icon for your CD 
drive, and then in the right pane, double-click the StartCD executable file.
2. 
Click Practice Files.
Important 
On a computer running Windows Vista, the default installation location of 
the practice files is Documents\MSP\ExcelVBA07SBS. On a computer running Windows 
XP, the default installation location is My Documents\MSP\ExcelVBA07SBS. If your 
computer is running Windows XP, whenever an exercise tells you to navigate to your 
Documents folder, you should instead go to your My Documents folder.
Documents you may be interested
Documents you may be interested