Tải bản đầy đủ (.pdf) (30 trang)

Excel 2007 VBA Programmers Reference Wrox P1

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (408.94 KB, 30 trang )

www.sharexxx.net - free books & magazines
Excel
®
2007 VBA
Programmer’s Reference
John Green
Stephen Bullen
Rob Bovey
Michael Alexander
01_046432 ffirs.qxp 2/16/07 9:52 PM Page iii
01_046432 ffirs.qxp 2/16/07 9:52 PM Page ii
Excel
®
2007 VBA
Programmer’s Reference
01_046432 ffirs.qxp 2/16/07 9:52 PM Page i
01_046432 ffirs.qxp 2/16/07 9:52 PM Page ii
Excel
®
2007 VBA
Programmer’s Reference
John Green
Stephen Bullen
Rob Bovey
Michael Alexander
01_046432 ffirs.qxp 2/16/07 9:52 PM Page iii
Excel®2007 VBA Programmer’s Reference
Published by
Wiley Publishing, Inc.
10475 Crosspoint Boulevard
Indianapolis, IN 46256


www.wiley.com
Copyright © 2007 by Wiley Publishing, Inc., Indianapolis, Indiana
Published simultaneously in Canada
ISBN: 978-0-470-04643-2
Manufactured in the United States of America
10 9 8 7 6 5 4 3 2 1
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any
means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107
or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or autho-
rization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive,
Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed
to the Legal Department, Wiley Publishing, Inc., 10475 Crosspoint Blvd., Indianapolis, IN 46256, (317) 572-3447, fax
(317) 572-4355, or online at />LIMIT OF LIABILITY/DISCLAIMER OF WARRANTY: THE PUBLISHER AND THE AUTHOR MAKE NO REP-
RESENTATIONS OR WARRANTIES WITH RESPECT TO THE ACCURACY OR COMPLETENESS OF THE CON-
TENTS OF THIS WORK AND SPECIFICALLY DISCLAIM ALL WARRANTIES, INCLUDING WITHOUT
LIMITATION WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE. NO WARRANTY MAY BE CREATED
OR EXTENDED BY SALES OR PROMOTIONAL MATERIALS. THE ADVICE AND STRATEGIES CONTAINED
HEREIN MAY NOT BE SUITABLE FOR EVERY SITUATION. THIS WORK IS SOLD WITH THE UNDERSTAND-
ING THAT THE PUBLISHER IS NOT ENGAGED IN RENDERING LEGAL, ACCOUNTING, OR OTHER PRO-
FESSIONAL SERVICES. IF PROFESSIONAL ASSISTANCE IS REQUIRED, THE SERVICES OF A COMPETENT
PROFESSIONAL PERSON SHOULD BE SOUGHT. NEITHER THE PUBLISHER NOR THE AUTHOR SHALL BE
LIABLE FOR DAMAGES ARISING HEREFROM. THE FACT THAT AN ORGANIZATION OR WEBSITE IS
REFERRED TO IN THIS WORK AS A CITATION AND/OR A POTENTIAL SOURCE OF FURTHER INFORMA-
TION DOES NOT MEAN THAT THE AUTHOR OR THE PUBLISHER ENDORSES THE INFORMATION THE
ORGANIZATION OR WEBSITE MAY PROVIDE OR RECOMMENDATIONS IT MAY MAKE. FURTHER, READ-
ERS SHOULD BE AWARE THAT INTERNET WEBSITES LISTED IN THIS WORK MAY HAVE CHANGED OR
DISAPPEARED BETWEEN WHEN THIS WORK WAS WRITTEN AND WHEN IT IS READ.
For general information on our other products and services or to obtain technical support, please contact our Cus-
tomer Care Department within the U.S. at (800) 762-2974, outside the U.S. at (317) 572-3993 or fax (317) 572-4002.
Library of Congress Cataloging-in-Publication Data

Excel 2007 VBA programmer’s reference / John Green ... [et al.].
p. cm.
Includes index.
ISBN 978-0-470-04643-2 (paper/website)
1. Microsoft Excel (Computer file) 2. Business—Computer programs. I. Green, John, 1945-
HF5548.4.M523E92988 2007
005.54—dc22
2007004976
Trademarks: Wiley, the Wiley logo, Wrox, the Wrox logo, Programmer to Programmer, and related trade dress are
registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the United States and other countries, and
may not be used without written permission. Microsoft and Excel are registered trademarks of Microsoft Corpora-
tion in the United States and/or other countries. All other trademarks are the property of their respective owners.
Wiley Publishing, Inc., is not associated with any product or vendor mentioned in this book.
Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be
available in electronic books.
01_046432 ffirs.qxp 2/16/07 9:52 PM Page iv
About the Authors
John Green lives and works in Sydney, Australia, as an independent computer consultant, specializing in
Excel and Access. He has 35 years of computing experience, a Chemical Engineering degree, and an MBA.
He wrote his first programs in FORTRAN, took a part in the evolution of specialized planning languages
on mainframes and, in the early ‘80s, became interested in spreadsheet systems, including 1-2-3 and Excel.
John established his company, Execuplan Consulting, in 1980, specializing in developing computer-
based planning applications and in training. He has led training seminars for software applications and
operating systems both in Australia and overseas.
John has had regular columns in a number of Australian magazines and has contributed chapters to a num-
ber of books including Excel Expert Solutions and Using Visual Basic for Applications 5. He also co-authored
Professional Excel Development with Stephen Bullen and Rob Bovey.
From 1995 to 2005 he was accorded the status of MVP (Most Valuable Professional) by Microsoft for his
contributions to the CompuServe Excel forum and MS Internet newsgroups.
John Green contributed the Introduction, Chapters 1–11, 13, 15–17, and 19 to this book.

Stephen Bullen lives in Woodford Green, London, England, with his partner Clare, daughter Becky, and
their dogs, Fluffy and Charlie. He has two other daughters, Jane and Katie, from his first marriage.
A graduate of Oxford University, Stephen has an MA in Engineering, Economics, and Management,
providing a unique blend of both business and technical skills. He has been providing Excel consulting
and application development services since 1994, originally as an employee of Price Waterhouse
Management Consultants and later as an independent consultant trading under the names of Business
Modelling Solutions Limited and Office Automation Limited. Stephen now works for Barclays Capital in
London, developing trading systems for complex exotic derivative products.
The Office Automation web site,
www.oaltd.co.uk
, provides a number of helpful and interesting utili-
ties, examples, tips and techniques to help in your use of Excel and development of Excel applications.
As well as co-authoring previous editions of the Excel VBA Programmer’s Reference, Stephen co-authored
Professional Excel Development.
In addition to his consulting and writing assignments, Stephen actively supports the Excel user community
in Microsoft’s peer-to-peer support newsgroups and the Daily Dose of Excel blog. In recognition of his
knowledge, skills and contributions, Microsoft has awarded him the title of Most Valuable Professional
each year since 1996.
Stephen Bullen contributed Chapters 14, 18, 24–27, and Appendix B to this book.
Rob Bovey is president of Application Professionals, a software development company specializing in
Microsoft Office, Visual Basic, and SQL Server applications. He brings many years’ experience creating
financial, accounting, and executive information systems for corporate users to Application
Professionals. You can visit the Application Professionals web site at
www.appspro.com
.
01_046432 ffirs.qxp 2/16/07 9:52 PM Page v
Rob developed several add-ins shipped by Microsoft for Microsoft Excel and co-authored the Microsoft
Excel 97 Developers Kit and Professional Excel Development. He earned his Bachelor of Science degree from
The Rochester Institute of Technology and his MBA from the University of North Carolina at Chapel
Hill. He is a Microsoft Certified Systems Engineer (MCSE) and a Microsoft Certified Solution Developer

(MCSD). Microsoft has awarded him the title of Most Valuable Professional each year since 1995.
Rob Bovey contributed Chapters 20–22 to this book.
Michael Alexander is a Microsoft Certified Application Developer (MCAD) with more than 14 years’
experience consulting and developing office solutions. He parlayed his experience with VBA and VB
into a successful consulting practice in the private sector, developing middleware and reporting solu-
tions for a wide variety of industries. He currently lives in Frisco, Texas, where he serves as a Senior
Program Manager for a top technology firm. Michael is the author of several books on Microsoft Access
and Excel, and is the principle behind DataPig Technologies, where he shares Access and Excel knowl-
edge with the Office community.
Michael Alexander contributed Chapters 12 and 23 and Appendices A and C to this book.
01_046432 ffirs.qxp 2/16/07 9:52 PM Page vi
Credits
Acquisitions Editor
Katie Mohr
Development Editor
Brian Herrmann
Technical Editor
Dick Kusleika
Production Editor
William A. Barton
Copy Editor
Kim Cofer
Editorial Manager
Mary Beth Wakefield
Production Manager
Tim Tate
Vice President and Executive Group Publisher
Richard Swadley
Vice President and Executive Publisher
Joseph B. Wikert

Project Coordinator
Jennifer Theriot
Graphics and Production Specialists
Carrie A. Foster
Denny Hager
Joyce Haughey
Jennifer Mayberry
Barbara Moore
Barry Offringa
Heather Ryan
Quality Control Technicians
Jessica Kramer
Christine Pingleton
Proofreading and Indexing
Kevin Broccoli
Sean Medlock
01_046432 ffirs.qxp 2/16/07 9:52 PM Page vii
ts
01_046432 ffirs.qxp 2/16/07 9:52 PM Page viii
Contents
Acknowledgments xxi
Introduction xxiii
Chapter 1: Primer in Excel VBA 1
Using the Macro Recorder 2
Recording Macros 2
Running Macros 6
The Visual Basic Editor 8
Other Ways to Run Macros 11
User-Defined Functions 17
Creating a UDF 18

What UDFs Cannot Do 21
The Excel Object Model 21
Objects 22
Getting Help 27
Experimenting in the Immediate Window 29
The VBA Language 30
Basic Input and Output 30
Calling Functions and Sub Procedures 35
Parentheses and Argument Lists 37
Variable Declaration 38
Scope and Lifetime of Variables 40
Variable Type 42
Object Variables 45
Making Decisions 47
Looping 50
Arrays 55
Run-Time Error-Handling 59
Summary 62
Chapter 2: The Application Object 63
Globals 63
The Active Properties 64
Display Alerts 65
Screen Updating 66
ts
02_046432 ftoc.qxp 2/16/07 9:52 PM Page ix

×