Muutke küpsiste eelistusi

E-raamat: Excel 2019 Power Programming with VBA

  • Formaat: PDF+DRM
  • Ilmumisaeg: 24-Apr-2019
  • Kirjastus: John Wiley & Sons Inc
  • Keel: eng
  • ISBN-13: 9781119514947
Teised raamatud teemal:
  • Formaat - PDF+DRM
  • Hind: 43,88 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Raamatukogudele
  • Formaat: PDF+DRM
  • Ilmumisaeg: 24-Apr-2019
  • Kirjastus: John Wiley & Sons Inc
  • Keel: eng
  • ISBN-13: 9781119514947
Teised raamatud teemal:

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Maximize your Excel experience with VBA

Excel 2019 Power Programming with VBA is fully updated to cover all the latest tools and tricks of Excel 2019. Encompassing an analysis of Excel application development and a complete introduction to Visual Basic for Applications (VBA), this comprehensive book presents all of the techniques you need to develop both large and small Excel applications. Over 800 pages of tips, tricks, and best practices shed light on key topics, such as the Excel interface, file formats, enhanced interactivity with other Office applications, and improved collaboration features. 

Understanding how to leverage VBA to improve your Excel programming skills can enhance the quality of deliverables that you produce—and can help you take your career to the next level.

  • Explore fully updated content that offers comprehensive coverage through over 900 pages of tips, tricks, and techniques
  • Leverage templates and worksheets that put your new knowledge in action, and reinforce the skills introduced in the text
  • Improve your capabilities regarding Excel programming with VBA, unlocking more of your potential in the office

Excel 2019 Power Programming with VBA is a fundamental resource for intermediate to advanced users who want to polish their skills regarding spreadsheet applications using VBA.

Introduction xxxiii
Part I: Introduction to Excel VBA 1(286)
Chapter 1 Essentials of Spreadsheet Application Development
3(16)
What Is a Spreadsheet Application?
3(1)
Steps for Application Development
4(1)
Determining User Needs
5(1)
Planning an Application That Meets User Needs
6(1)
Determining the Most Appropriate User Interface
7(5)
Customizing the Ribbon
8(1)
Customizing shortcut menus
8(1)
Creating shortcut keys
9(1)
Creating custom dialog boxes
9(1)
Using ActiveX controls on a worksheet
10(2)
Executing the development effort
12(1)
Concerning Yourself with the End User
12(5)
Testing the application
12(1)
Making the application bulletproof
13(2)
Making the application aesthetically appealing and intuitive
15(1)
Creating a user Help system
16(1)
Documenting the development effort
16(1)
Distributing the application to the user
16(1)
Updating the application when necessary
17(1)
Other Development Issues
17(2)
The user's installed version of Excel
17(1)
Language issues
17(1)
System speed
18(1)
Video modes
18(1)
Chapter 2 Introducing Visual Basic for Applications
19(42)
Getting a Head Start with the Macro Recorder
19(13)
Creating your first macro
20(3)
Examining your macro
21(1)
Testing your macro
22(1)
Editing your macro
22(1)
Comparing absolute and relative macro recording
23(5)
Recording macros with absolute references
23(3)
Recording macros with relative references
26(2)
Other macro recording concepts
28(4)
Macro security in Excel
28(1)
Trusted locations
28(1)
Storing macros in your Personal Macro Workbook
29(1)
Assigning a macro to a button and other form controls
30(1)
Placing a macro on the Quick Access toolbar
31(1)
Working with the Visual Basic Editor
32(11)
Understanding VBE components
32(2)
Menu bar
32(1)
Toolbar
33(1)
Project window
33(1)
Code window
33(1)
Immediate window
34(1)
Working with the Project window
34(2)
Adding a new VBA module
35(1)
Removing a VBA module
35(1)
Working with a Code window
36(3)
Minimizing and maximizing windows
36(1)
Getting VBA code into a module
37(2)
Customizing the VBA environment
39(2)
The Editor tab
39(2)
The Editor Format tab
41(1)
The General tab
41(1)
The Docking tab
42(1)
VBA Fundamentals
43(5)
Understanding objects
43(1)
Understanding collections
44(1)
Understanding properties
44(4)
Specifying properties for the active object
45(1)
Understanding methods
46(2)
Deep Dive: Working with Range Objects
48(4)
Finding the properties of the Range object
48(1)
The Range property
48(1)
The Cells property
49(2)
The Offset property
51(1)
Essential Concepts to Remember
52(2)
Don't Panic-You Are Not Alone
54(7)
Read the rest of the book
54(1)
Let Excel help write your macro
54(1)
Use the Help system
55(1)
Location matters when asking for help
55(1)
You need to be connected to the Internet
55(1)
Use the Object Browser
55(2)
Pilfer code from the Internet
57(1)
Leverage user forums
57(1)
Visit expert blogs
58(1)
Mine YouTube for video training
58(1)
Learn from the Microsoft Office Dev Center
58(1)
Dissect the other Excel files in your organization
58(1)
Ask your local Excel genius
59(2)
Chapter 3 VBA Programming Fundamentals
61(44)
VBA Language Elements: An Overview
61(2)
Comments
63(2)
Variables, Data Types, and Constants
65(11)
Defining data types
66(1)
Declaring variables
67(3)
Determining a data type
68(1)
Forcing yourself to declare all variables
69(1)
Scoping variables
70(2)
Local variables
70(1)
Module-wide variables
71(1)
Public variables
72(1)
Static variables
72(1)
Working with constants
72(2)
Declaring constants
73(1)
Using predefined constants
73(1)
Working with strings
74(1)
Working with dates
74(2)
Assignment Statements
76(2)
Arrays
78(1)
Declaring arrays
78(2)
Declaring multidimensional arrays
79(1)
Declaring dynamic arrays
79(1)
Object Variables
80(1)
User-Defined Data Types
81(1)
Built-in Functions
82(3)
Manipulating Objects and Collections
85(3)
With-End With constructs
85(1)
For Each-Next constructs
86(2)
Controlling Code Execution
88(17)
GoTo statements
88(1)
If-Then constructs
89(4)
Select Case constructs
93(3)
Looping blocks of instructions
96(9)
For-Next loops
97(3)
Do While loops
100(2)
Do Until loops
102(3)
Chapter 4 Working with VBA Sub Procedures
105(38)
About Procedures
105(3)
Declaring a Sub procedure
106(1)
Scoping a procedure
107(1)
Public procedures
107(1)
Private procedures
107(1)
Executing Sub Procedures
108(11)
Executing a procedure with the Run Sub/UserForm command
109(1)
Executing a procedure from the Macro dialog box
109(1)
Executing a procedure with a Ctrl+shortcut key combination
110(1)
Executing a procedure from the Ribbon
111(1)
Executing a procedure from a customized shortcut menu
112(1)
Executing a procedure from another procedure
112(5)
Calling a procedure in a different module
113(1)
Calling a procedure in a different workbook
114(3)
Executing a procedure by clicking an object
117(1)
Executing a procedure when an event occurs
118(1)
Executing a procedure from the Immediate window
118(1)
Passing Arguments to Procedures
119(4)
Error-Handling Techniques
123(4)
Trapping errors
123(1)
Error-handling examples
124(3)
A Realistic Example That Uses Sub Procedures
127(13)
The goal
127(1)
Project requirements
128(1)
What you know
128(1)
The approach
129(1)
Some preliminary recording
129(1)
Initial setup
130(1)
Code writing
131(1)
Writing the Sort procedure
132(5)
More testing
137(1)
Fixing the problems
137(3)
Utility availability
140(1)
Evaluating the project
141(2)
Chapter 5 Creating Function Procedures
143(40)
Sub Procedures vs. Function Procedures
143(1)
Why Create Custom Functions?
144(1)
An Introductory Function Example
144(4)
Using the function in a worksheet
145(1)
Using the function in a VBA procedure
146(1)
Analyzing the custom function
146(2)
Function Procedures
148(5)
A function's scope
150(1)
Executing function procedures
150(3)
From a procedure
150(1)
In a worksheet formula
150(1)
In a conditional formatting formula
151(2)
From the VBE Immediate Window
153(1)
Function Arguments
153(1)
Function Examples
153(14)
Functions with no argument
153(3)
A function with one argument
156(3)
A function with two arguments
159(1)
A function with an array argument
159(1)
A function with optional arguments
160(2)
A function that returns a VBA array
162(3)
A function that returns an error value
165(1)
A function with an indefinite number of arguments
166(1)
Emulating Excel's SUM Function
167(3)
Extended Date Functions
170(2)
Debugging Functions
172(1)
Dealing with the Insert Function Dialog Box
173(5)
Using the MacroOptions method
174(2)
Specifying a function category
176(1)
Adding a function description manually
177(1)
Using Add-Ins to Store Custom Functions
178(1)
Using the Windows API
178(5)
Windows API examples
179(1)
Determining the Windows directory
179(2)
Detecting the Shift key
181(1)
Learning more about API functions
181(2)
Chapter 6 Understanding Excel's Events
183(34)
What You Should Know About Events
183(6)
Understanding event sequences
184(1)
Where to put event-handler procedures
184(2)
Disabling events
186(1)
Entering event-handler code
187(1)
Event-handler procedures that use arguments
188(1)
Getting Acquainted with Workbook-Level Events
189(8)
The Open event
191(1)
The Activate event
191(1)
The SheetActivate event
192(1)
The NewSheet event
192(1)
The BeforeSave event
192(1)
The Deactivate event
193(1)
The BeforePrint event
193(2)
Updating a header or footer
193(1)
Hiding columns before printing
194(1)
The BeforeClose event
195(2)
Examining Worksheet Events
197(9)
The Change event
198(1)
Monitoring a specific range for changes
199(4)
Monitoring a range to make formulas bold
199(1)
Monitoring a range to validate data entry
200(3)
The SelectionChange event
203(1)
The BeforeDoubleClick event
204(1)
The BeforeRightClick event
205(1)
Monitoring with Application Events
206(11)
Enabling Application-level events
206(2)
Determining when a workbook is opened
208(1)
Monitoring Application-level events
209(1)
Accessing events not associated with an object
210(1)
The OnTime event
210(2)
The OnKey event
212(6)
An OnKey event example
212(1)
Key Codes
213(1)
Disabling shortcut menus
214(3)
Chapter 7 VBA Programming Examples and Techniques
217(70)
Learning by Example
217(1)
Working with Ranges
218(28)
Copying a range
218(1)
Moving a range
219(1)
Copying a variably sized range
219(2)
Selecting or otherwise identifying various types of ranges
221(2)
Resizing a range
223(1)
Prompting for a cell value
223(2)
Entering a value in the next empty cell
225(1)
Pausing a macro to get a user-selected range
226(2)
Counting selected cells
228(1)
Determining the type of selected range
228(2)
Looping through a selected range efficiently
230(3)
Deleting all empty rows
233(1)
Duplicating rows a variable number of times
234(2)
Determining whether a range is contained in another range
236(1)
Determining a cell's data type
236(2)
Reading and writing ranges
238(1)
A better way to write to a range
239(2)
Transferring one-dimensional arrays
241(1)
Transferring a range to a variant array
242(1)
Selecting cells by value
243(1)
Copying a noncontiguous range
244(2)
Working with Workbooks and Sheets
246(5)
Saving all workbooks
246(1)
Saving and closing all workbooks
247(1)
Hiding all but the selection
247(2)
Creating a hyperlink table of contents
249(1)
Synchronizing worksheets
250(1)
VBA Techniques
251(7)
Toggling a Boolean property
251(1)
Displaying the date and time
251(2)
Displaying friendly time
253(1)
Getting a list of fonts
254(2)
Sorting an array
256(1)
Processing a series of files
256(2)
Some Useful Functions for Use in Your Code
258(5)
The FileExists function
259(1)
The FileNameOnly function
259(1)
The PathExists function
259(1)
The RangeNameExists function
260(1)
The SheetExists function
260(1)
The WorkbookIsOpen function
261(1)
Retrieving a value from a closed workbook
262(1)
Some Useful Worksheet Functions
263(15)
Returning cell formatting information
264(1)
A talking worksheet
265(1)
Displaying the date when a file was saved or printed
265(1)
Understanding object parents
266(1)
Counting cells between two values
267(1)
Determining the last nonempty cell in a column or row
268(1)
Does a string match a pattern?
269(1)
Extracting the nth element from a string
270(1)
Spelling out a number
271(1)
A multifunctional function
272(1)
The SHEETOFFSET function
273(1)
Returning the maximum value across all worksheets
274(1)
Returning an array of nonduplicated random integers
275(1)
Randomizing a range
276(1)
Sorting a range
277(1)
Windows API Calls
278(11)
Understanding API declarations
279(1)
32-bit vs. 64-bit declarations
279(1)
Determining file associations
280(1)
Determining default printer information
281(1)
Determining video display information
282(1)
Reading from and writing to the Registry
283(6)
Reading from the Registry
284(1)
Writing to the Registry
284(3)
Part II: Advanced VBA Techniques 287(130)
Chapter 8 Working with Pivot Tables
289(16)
An Introductory Pivot Table Example
289(6)
Creating a pivot table
290(2)
Examining the recorded code for the pivot table
292(1)
Cleaning up the recorded pivot table code
292(3)
Creating a More Complex Pivot Table
295(4)
The code that created the pivot table
296(1)
How the more complex pivot table works
297(2)
Creating Multiple Pivot Tables
299(3)
Creating a Reverse Pivot Table
302(3)
Chapter 9 Working with Charts
305(46)
Getting the Inside Scoop on Charts
305(3)
Chart locations
305(1)
The macro recorder and charts
306(1)
The Chart object model
306(2)
Creating an Embedded Chart
308(1)
Creating a Chart on a Chart Sheet
309(1)
Modifying Charts
309(1)
Using VBA to Activate a Chart
310(1)
Moving a Chart
311(1)
Using VBA to Deactivate a Chart
312(1)
Determining Whether a Chart Is Activated
313(1)
Deleting from the ChartObjects or Charts Collection
313(1)
Looping Through All Charts
314(3)
Sizing and Aligning ChartObjects
317(1)
Creating Lots of Charts
318(3)
Exporting a Chart
321(1)
Exporting all graphics
321(1)
Changing the Data Used in a Chart
322(6)
Changing chart data based on the active cell
324(1)
Using VBA to determine the ranges used in a chart
325(3)
Using VBA to Display Custom Data Labels on a Chart
328(3)
Displaying a Chart in a UserForm
331(3)
Understanding Chart Events
334(6)
An example of using Chart events
334(3)
Enabling events for an embedded chart
337(1)
Create a class module
337(1)
Declare a public Chart object
337(1)
Connect the declared object with your chart
337(1)
Write event-handler procedures for the chart class
337(1)
Example: Using Chart events with an embedded chart
338(2)
Discovering VBA Charting Tricks
340(7)
Printing embedded charts on a full page
340(1)
Creating unlinked charts
341(2)
Displaying text with the MouseOver event
343(2)
Scrolling a chart
345(2)
Working with Sparkline Charts
347(4)
Chapter 10 Interacting with Other Applications
351(26)
Understanding Microsoft Office Automation
351(3)
Understanding the concept of binding
351(3)
Early binding
352(1)
Late binding
352(2)
A simple automation example
354(1)
Automating Access from Excel
354(2)
Running an Access query from Excel
354(2)
Running an Access macro from Excel
356(1)
Automating Word from Excel
356(4)
Sending Excel data to a Word document
357(1)
Simulating Mail Merge with a Word document
358(2)
Automating PowerPoint from Excel
360(5)
Sending Excel data to a PowerPoint presentation
361(1)
Sending all Excel charts to a PowerPoint presentation
362(1)
Convert a workbook into a PowerPoint presentation
363(2)
Automating Outlook from Excel
365(4)
Mailing the active workbook as an attachment
365(1)
Mailing a specific range as an attachment
366(1)
Mailing a Single Sheet as an Attachment
367(1)
Mailing All E-mail Addresses in Your Contact List
368(1)
Starting Other Applications from Excel
369(8)
Using the VBA Shell function
370(2)
Using the Windows ShellExecute API function
372(1)
Using AppActivate
373(1)
Running Control Panel Dialog Boxes
374(3)
Chapter 11 Working with External Data and Files
377(40)
Working with External Data Connections
377(1)
Power Query Basics
377(13)
Understanding query steps
383(2)
Refreshing Power Query data
385(1)
Managing existing queries
385(1)
Using VBA to create dynamic connections
386(3)
Iterating through all connections in a workbook
389(1)
Using ADO and VBA to Pull External Data
390(7)
The connection string
390(2)
Declaring a Recordset
392(1)
Referencing the ADO object library
392(2)
Putting it all together in code
394(1)
Using ADO with the active workbook
395(2)
Querying data from an Excel workbook
395(1)
Appending records to an existing Excel table
396(1)
Working with Text Files
397(4)
Opening a text file
398(1)
Reading a text file
399(1)
Writing a text file
399(1)
Getting a file number
399(1)
Determining or setting the file position
399(1)
Statements for reading and writing
400(1)
Text File Manipulation Examples
401(4)
Importing data in a text file
401(1)
Exporting a range to a text file
401(1)
Importing a text file to a range
402(1)
Logging Excel usage
403(1)
Filtering a text file
404(1)
Performing Common File Operations
405(8)
Using VBA file-related statements
406(4)
A VBA function to determine whether a file exists
406(1)
A VBA function to determine whether a path exists
406(1)
A VBA procedure to display a list of files in a directory
407(2)
A recursive VBA procedure to display a list of files in nested directories
409(1)
Using the FileSystemObject object
410(3)
Using FileSystemObject to determine whether a file exists
411(1)
Using FileSystemObject to determine whether a path exists
412(1)
Using FileSystemObject to list information about all available disk drives
412(1)
Zipping and Unzipping Files
413(6)
Zipping files
413(2)
Unzipping a file
415(2)
Part III: Working with UserForms 417(150)
Chapter 12 Leveraging Custom Dialog Boxes
419(22)
Alternatives to UserForms
419(1)
Using an Input Box
419(7)
Using the VBA InputBox function
419(3)
Using the Application.InputBox method
422(4)
Using the VBA MsgBox Function
426(5)
Using the Excel GetOpenFilename Method
431(3)
Using the Excel GetSaveAsFilename Method
434(1)
Prompting for a Folder
435(1)
Displaying Excel's Built-in Dialog Boxes
435(3)
Displaying a Data Form
438(3)
Making the data form accessible
438(2)
Displaying a data form by using VBA
440(1)
Chapter 13 Introducing UserForms
441(38)
How Excel Handles Custom Dialog Boxes
441(1)
Inserting a New UserForm
442(1)
Adding Controls to a UserForm
443(1)
Toolbox Controls
443(5)
CheckBox
444(1)
ComboBox
445(1)
CommandButton
445(1)
Frame
445(1)
Image
445(1)
Label
445(1)
ListBox
445(1)
MultiPage
445(1)
OptionButton
446(1)
RefEdit
446(1)
ScrollBar
446(1)
SpinButton
446(1)
TabStrip
446(1)
TextBox
446(1)
ToggleButton
446(2)
Adjusting UserForm Controls
448(2)
Adjusting a Control's Properties
450(6)
Using the Properties window
450(2)
Common properties
452(2)
Accommodating keyboard users
454(2)
Changing the tab order of controls
454(1)
Setting hot keys
455(1)
Displaying a UserForm
456(2)
Adjusting the display position
456(1)
Displaying a modeless UserForm
457(1)
Displaying a UserForm based on a variable
457(1)
Loading a UserForm
458(1)
About event-handler procedures
458(1)
Closing a UserForm
458(2)
Creating a UserForm: An Example
460(13)
Creating the UserForm
460(3)
Writing code to display the dialog box
463(1)
Testing the dialog box
464(1)
Adding event-handler procedures
465(1)
The finished dialog box
466(1)
Learning about events
467(1)
SpinButton events
468(2)
Mouse-initiated events
469(1)
Keyboard-initiated events
469(1)
What about code-initiated events?
470(1)
Pairing a SpinButton with a TextBox
470(3)
Referencing UserForm Controls
473(1)
Customizing the Toolbox
474(3)
Adding new pages to the Toolbox
474(1)
Customizing or combining controls
474(1)
Adding other ActiveX controls
475(2)
Creating UserForm Templates
477(1)
A UserForm Checklist
478(1)
Chapter 14 Looking at UserForm Examples
479(40)
Creating a UserForm "Menu"
479(2)
Using CommandButtons in a UserForm
479(1)
Using a list box in a UserForm
480(1)
Selecting Ranges from a UserForm
481(2)
Creating a Splash Screen
483(3)
Disabling a UserForm's Close Button
486(1)
Changing a UserForm's Size
487(1)
Zooming and Scrolling a Sheet from a UserForm
488(2)
Exploring ListBox Techniques
490(22)
Adding items to a ListBox control
491(5)
Adding items to a list box at design time
491(1)
Adding items to a list box at run-time
492(2)
Adding only unique items to a list box
494(2)
Determining the selected item in a list box
496(1)
Determining multiple selections in a list box
497(1)
Multiple lists in a single list box
498(1)
List box item transfer
498(2)
Moving items in a list box
500(2)
Working with multicolumn ListBox controls
502(3)
Using a list box to select worksheet rows
505(2)
Using a list box to activate a sheet
507(3)
Using a text box to filter a list box
510(2)
Using the MultiPage Control in a UserForm
512(1)
Using an External Control
513(3)
Animating a Label
516(3)
Chapter 15 Implementing Advanced UserForm Techniques
519(48)
A Modeless Dialog Box
519(4)
Displaying a Progress Indicator
523(12)
Creating a stand-alone progress indicator
524(4)
Building the stand-alone progress indicator UserForm
525(1)
Creating the code that increments the progress bar
526(1)
Calling the stand-alone progress indicator from your code
527(1)
Benefits of a stand-alone progress indicator
528(1)
Showing a progress indicator that's integrated into a UserForm
528(4)
Modifying your UserForm for a progress indicator with a MultiPage control
528(2)
Inserting the UpdateProgress procedure for a progress indicator with a MultiPage control
530(1)
Modifying your procedure for a progress indicator with a MultiPage control
530(1)
How a progress indicator with a MultiPage control works
531(1)
Showing a progress indicator without using a MultiPage control
531(1)
Creating a nongraphical progress indicator
532(3)
Creating the UserForm to display the steps
533(1)
Modifying the calling procedure to use the progress indicator
533(1)
Creating Wizards
534(1)
Setting up the MultiPage control for the wizard
535(6)
Adding the buttons to the wizard's UserForm
536(1)
Programming the wizard's buttons
536(2)
Programming dependencies in a wizard
538(2)
Performing the task with the wizard
540(1)
Emulating the MsgBox Function
541(4)
MsgBox emulation: MyMsgBox code
542(1)
How the MyMsgBox function works
543(2)
Using the MyMsgBox function
545(1)
A UserForm with Movable Controls
545(1)
A UserForm with No Title Bar
546(2)
Simulating a Toolbar with a UserForm
548(2)
Emulating a Task Pane with a UserForm
550(1)
A Resizable UserForm
551(5)
Handling Multiple UserForm Controls with One Event Handler
556(3)
Selecting a Color in a UserForm
559(2)
Displaying a Chart in a UserForm
561(1)
Saving a chart as a GIF file
562(1)
Changing the Image control's Picture property
562(1)
Making a UserForm Semitransparent
562(1)
A Puzzle on a UserForm
563(2)
Video Poker on a UserForm
565(2)
Part IV: Developing Excel Applications 567(146)
Chapter 16 Creating and Using Add-Ins
569(30)
What Is an Add-In?
569(3)
Comparing an add-in with a standard workbook
569(1)
Why create add-ins?
570(2)
Understanding Excel's Add-in Manager
572(2)
Creating an Add-In
574(1)
An Add-In Example
575(6)
Adding descriptive information for the example add-in
577(1)
Creating an add-in
577(1)
Installing an add-in
578(1)
Testing the add-in
579(1)
Distributing an add-in
579(1)
Modifying an add-in
580(1)
Comparing XLAM and XLSM Files
581(6)
XLAM file VBA collection membership
581(1)
Visibility of XLSM and XLAM files
582(1)
Worksheets and chart sheets in XLSM and XLAM files
582(1)
Accessing VBA procedures in an add-in
583(4)
Manipulating Add-Ins with VBA
587(12)
Adding an item to the AddIns collection
587(1)
Removing an item from the AddIns collection
588(1)
AddIn object properties
589(3)
The Name property of an AddIn object
589(1)
The Path property of an AddIn object
589(1)
The FullName property of an AddIn object
589(1)
The Title property of an AddIn object
590(1)
The Comments property of an AddIn object
590(1)
The Installed property of an AddIn object
590(2)
Accessing an add-in as a workbook
592(1)
AddIn object events
593(1)
Optimizing the Performance of Add-Ins
593(1)
Special Problems with Add-Ins
594(7)
Ensuring that an add-in is installed
594(2)
Referencing other files from an add-in
596(3)
Chapter 17 Working with the Ribbon
599(38)
Ribbon Basics
599(2)
Customizing the Ribbon
601(5)
Adding a button to the Ribbon
601(3)
Adding a button to the Quick Access toolbar
604(1)
Understanding the limitations of Ribbon customization
605(1)
Creating a Custom Ribbon
606(22)
Adding a button to an existing tab
607(6)
The RibbonX code
611(1)
Callback procedures
612(1)
The CUSTOM UI part
612(1)
Adding a check box to an existing tab
613(3)
The RibbonX code
614(1)
The VBA code
615(1)
Ribbon controls demo
616(9)
Creating a new tab
617(1)
Creating a Ribbon group
617(1)
Creating controls
618(7)
A dynamicMenu control example
625(2)
More on Ribbon customization
627(1)
Using VBA with the Ribbon
628(4)
Accessing a Ribbon control
629(1)
Working with the Ribbon
630(1)
Activating a tab
631(1)
Creating an Old-Style Toolbar
632(5)
Limitations of old-style toolbars
632(1)
Code to create a toolbar
632(5)
Chapter 18 Working with Shortcut Menus
637(22)
CommandBar Overview
637(3)
CommandBar types
637(1)
Listing shortcut menus
638(1)
Referring to CommandBars
639(1)
Referring to Controls in a CommandBar
640(1)
Properties of CommandBar Controls
641(1)
Displaying All Shortcut Menu Items
642(2)
Using VBA to Customize Shortcut Menus
644(2)
Shortcut menu and the single-document interface
644(2)
Resetting a shortcut menu
646(8)
Disabling a shortcut menu
647(1)
Disabling shortcut menu items
648(1)
Adding a new item to the Cell shortcut menu
648(2)
Adding a submenu to a shortcut menu
650(2)
Limiting a shortcut menu to a single workbook
652(2)
Shortcut Menus and Events
654(5)
Adding and deleting menus automatically
654(1)
Disabling or hiding shortcut menu items
654(1)
Creating a context-sensitive shortcut menu
655(4)
Chapter 19 Providing Help for Your Applications
659(20)
Help for Your Excel Applications
659(2)
Help Systems That Use Excel Components
661(9)
Using cell comments for help
661(2)
Using a text box for help
663(1)
Using a worksheet to display help text
664(1)
Displaying help in a UserForm
665(5)
Using Label controls to display help text
666(1)
Using a scrolling label to display help text
667(1)
Using a ComboBox control to select a help topic
668(2)
Displaying Help in a Web Browser
670(2)
Using HTML files
670(1)
Using an MHTML file
671(1)
Using the HTML Help System
672(7)
Using the Help method to display HTML Help
674(1)
Associating a help file with your application
675(1)
Associating a help topic with a VBA function
675(4)
Chapter 20 Leveraging Class Modules
679(20)
What Is a Class Module?
679(2)
Built-in class modules
680(1)
Custom class modules
680(1)
Classes and objects
680(1)
Objects, properties, and methods
681(1)
Creating a NumLock Class
681(4)
Inserting a class module
682(1)
Adding VBA code to the class module
683(1)
Using the CNumLock class
684(1)
Coding Properties, Methods, and Events
685(3)
Programming properties of objects
685(2)
Programming methods for objects
687(1)
Class module events
688(1)
Exposing a QueryTable Event
688(4)
Creating a Class to Hold Classes
692(7)
Creating the CSalesRep and CSalesReps classes
693(2)
Creating the Clnvoice and Clnvoices classes
695(1)
Filling the parent classes with objects
696(1)
Calculating the commissions
697(2)
Chapter 21 Understanding Compatibility Issues
699(14)
What Is Compatibility?
699(1)
Types of Compatibility Problems
699(2)
Avoid Using New Features
701(2)
But Will It Work on a Mac?
703(1)
Dealing with 64-Bit Excel
704(1)
Creating an International Application
705(2)
Multilanguage Applications
707(1)
VBA Language Considerations
708(1)
Using Local Properties
708(1)
Identifying System Settings
709(2)
Date and Time Settings
711(2)
Part V: Appendix 713(12)
Appendix: VBA Statements and Functions Reference
715(10)
Index 725
MICHAEL ALEXANDER is a Microsoft Certified Application Developer and author of several books on Microsoft Access and Excel. He runs a free tutorial site at datapigtechnologies.com.

DICK KUSLEIKA has been helping users get the most out of Microsoft Office products for more than twenty-five years through online forums, blogging, books, and conferences.