Can someone recommend an Excel VBA Book?

W

wardnine

Hey - I consider myself pretty good with Excel (not an expert or
anything, but know most of the functions and options available within
Excel inside out) but don't know a thing about Visual Basic
programming. Can someone recommend a good introductory book where
someone with a good knowledge of Excel can pick up at least the basics
behind VBA programming in Excel? I have programming experience (C, C++,
SAS) and I think it is something I pick up pretty quickly, just none in
Visual Basic. So if anyone can recommend me a good book to start with
that would be appreciated, thanks!!!
 
B

Bob Phillips

Either VBA For Dummies, or Excel VBA Power Programming, both by John
Walkenbach. Go to your bookshop and browse them to see which its more
suitable.

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)
 
N

Nick Hodge

Try also the Excel VBA Programmers reference by Green, Bovey and Bullen

--
HTH
Nick Hodge
Microsoft MVP - Excel
Southampton, England

(e-mail address removed)
www.nickhodge.co.uk
 
J

Jim

I learned from the book by Green, Bovey and Bullen. Sometimes I think
it started me at the "third grade" instead of "first grade". Should I
have started with Walkenbach's book???
 
N

Nick Hodge

Books and peoples writing styles are very personal. I actually leaned most
VBA from an MS press Step-by-step book as it built an actual
application...worked for me, may not for others, I always plug MVPs books as
they will certainly know their stuff and they also give a bit back for free.
Definitely John W fits that bill

--
HTH
Nick Hodge
Microsoft MVP - Excel
Southampton, England

(e-mail address removed)
www.nickhodge.co.uk
 
G

Guest

That book is a programmers reference, not really a teaching book. It is
intended for people with an understanding of programming in VBA who may whish
to research a specific topic.
The books by John are learing guides intended to walk a new user step by
step through a series of exercises intended to give the reader an
understanding of writing code in VBA.
 
B

Bob Phillips

But not the 2003 edition - bad edit.

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)
 
N

Nick Hodge

I specifically went with the programmers ref as the user said he had
experience with C, C++, etc, so understands the concept of objects,
properties and methods, etc, etc

Equally, people should not overlook the 'learning power' of the macro
recorder. Can teach bad habits, select, default properties, but is a rapid
learner as you know what you did in the UI.

--
HTH
Nick Hodge
Microsoft MVP - Excel
Southampton, England

(e-mail address removed)
www.nickhodge.co.uk
 
W

webmaster

VBA is a great tool for handling repetative tasks. As a general rule,
I would develop worksheet functions in C / C++ (for performance and to
interface with other tools ... such as databases or web services). VBA
would be used to show/hide sheets, copy data, save files, toggle
setting.

First thing you should know is that Excel has a Tools -> Macros ->
Record Macro feature that builds a (poor) VBA skeleton for whatever
tasks you wish to do. One note is that this code sometimes does not
work if you edit it ! This can make VBA a little frustrating. But it
is a great macro language and this feature is invaluable in guiding you
though the feature maze. You would need to clean up hard-coded ranges
/ worksheet names... Use the Sheet (id).select, SelectedCell.offset,
to navigate. When coping ranges, use range("theTarget').value =
range("theSource").value When analyzing range values pass the range
data to a variable dim a a = range("theData").value rows
= a.ubound(1) cols = a.ubound(2) you can also then re-populate
the range quickly with range("theData").value = a

But do not write heavy duty functions in VBA. Use C / C++ for any
number manipulations, sorting, grouping, .... When building
worksheet functions, use the C / C++ API or a tool to make this work
easier.

RapidXLL_NET automatically interfaces native C / C++ with Excel Add-Ins
and the .NET framework. Visit http://www.RapidXLL.net for samples
and a free trial.

Sincerely,

The RapidXLL Team
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top