# Off Topic > The Water Cooler >  >  What constitutes being an Expert at VBA and Excel

## kestefon

I'm currently studying and practicing VBA in hopes of eventually becoming highly proficient. My question is, what exactly does it look like to be an expert: For instance, are you able to write VBA code from scratch as fluently as you would write a sentence in English, or do you generally start with Macro Recorders and use that as a blueprint? Do you rely heavily on reference books or the VBA help library, or are you able to accomplish most tasks on the fly without any reference materials? And from a practical point-of-view, what was your training like as you went from novice to intermediate to advanced? By that I mean, are there any strategies or techniques you used that really helped you master the coding?

Any responses would be highly appreciated. I'm not looking for shortcuts; I just want to set some realistic goals for myself and get into good habits, so I figured I should ask people who've already walked this road.

----------


## Simon Lloyd

You've pretty much explained it all yourself, all of those criteria take place, some take official training some don't but it doesn't make you any less competent, if your applying for a job you may be asked for documentation if the job/client requires it.

As for "Expert", if you consider yourself expert at some point then you might aswell close your office application and not open it again!, even the best of the best are still, and are happy to be, learning!

----------


## Sean Thomas

Hi Kestefon,
Like yourself, i have entered the world of Excel/VBA just over a year ago.
Its never too late to learn a new subject and as Simon said (no pun intended) i think you will find due to the complex design of this system you will always be learning something new. I have read books, web sites, ms library and forums. I have had no training and achieved better results than others who have had training.
My experience so far has shown me that no matter how much you think you know, there is always someone who knows more. This forum has some very talented people who are willing to help, some want to teach, some are also using this forum to help themselves by finding solutions to others problems and therefore helping them to develop their own skills.
As to setting yourself goals, i find you need to determine what it is you want to learn, how in depth do you want to learn it and when by.
The danger is that you can end up spending so much time learning something that you my never get to use. You can also get addicted to this forum and using excel, and it will take over your life if you are careful, so be warned!

----------


## Alf

> what exactly does it look like to be an expert



Determined by whom? 

As Simon say you have made quite a good explanation yourself of what an expert look like. You have set your aim and you defined the criteria now go for it!

If you do want an outsiders opinion and a paper to pin to the wall you could do so by taking the Microsoft Office Expert Certificate. They at least are recognized as the final authority of the how and the why of Excel.

Alf

----------


## Mordred

Like most that have taken this seriously, starting with recording macros is a good start.  Eventually you won't need to record macros, you'll just make them as you go.  A good site to ask questions is very helpful too.  As far as books go, I bought, or rather my work bought, a couple that I don't really reference because it's easier to gain knowledge from this and other sites on the interwebs.  As for being an expert, I agree with Simon and Alf.  However, there are some real experts that frequent forums like this one and they enable all of us to "stand on the shoulders of giants" as it were.

Like all other aspects of life, practice makes better.  Don't worry about being an "expert" as you may never feel like you've attained that level.  

@Alf, Microsoft Office Expert Certificate is for Office as a whole though right?

----------


## Alf

> Microsoft Office Expert Certificate is for Office as a whole though right?



I'm not absolutely sure, yes it was offered as a package but looking at this link it seems you can get a degree as an Office Excel or Word Expert.

http://www.microsoft.com/learning/en...id=u6nR6ppHq5v

and this as well

http://www.microsoft.com/learning/en...id=u6nR6ppHq5v


Alf

----------


## oCoCarbon

On top of the generally good advice already given, I found my VBA came on in leaps and bounds when I started reading Code Complete by Steve McConnell. It's one thing to be able to ask the specifics of language implementation. But when it comes to good programming practice, design of routines, data structures, control structures, testing and all the other things that apply to all programming languages a language-agnostic reference book really helped.

Another piece of advice would be to pick up another object-oriented language like Python or Java. You may not need to go into depth but the fluency you'll gain in VBA from being able to think clearly about objects without getting tied down to a specific language can be a great help. In Code Complete it talks a lot about programming "into" a language rather than "in" a language. You design the programme/macro/routine in a way that can then be implemented in any language.

Look at the forums, ask questions, and answer them too whenever you can. But really, it's just a matter of reading and practicing a lot.

----------


## Kyle123

In response to the above, I agree with all the points in principle, being able to structure an application properly is far more important than the language it is written in. The problem I have is that VBA/VB6 is just not OO enough to be able to easily apply the principles of OOP (excluding odd languages like javascript  :Wink: ), my biggest bug bear is that it only supports interface inheritance rather than full inheritance - full inheritance can be simulated, but it's too much like hard work once you understand how easy it is in other languages  :Wink:

----------


## JosephP

“An expert is a man who has made all the mistakes which can be made, in a narrow field.” – Niels Bohr

“Never become so much of an expert that you stop gaining expertise. View life as a continuous learning experience.” - Denis Waitley

“An expert is one who knows more and more about less and less.” - Nicholas M. Butler

“We are all experts in our own little niches.” - Alex Trebek

----------


## judgeh59

The only difference between a Master and an apprentice is the Master hides his mistakes better  ---

----------


## DaveDeV

I guess one should also understand the meaning of the term "expert"

"X" = The Unknown Quantity
"Spurt" = A Drip Under Pressure

Need I say more?  :Smilie: 

Actually, for my money, an expert is someone who has learned enough to understand and acknowledge that he/she does NOT know it all, but has a pretty damned good idea how to find out and where to look...

Dave

----------


## JBeaucaire

*Amateur* - barely knows what a "stick" is, but knows they exists and he wants them.*Novice* - has collected some sticks, doesn't understand them all, will attack every problem with these same sticks even if it's impractical, inefficient or impossible to use them to solve the problem.   This person is eager and tenacious, though frequently stubborn.*Expert* - has a full back of sticks, understands most of them, applies them efficiently and sparingly as needed.  Knows where to get more sticks when needed, which is often.  This person is patient and methodical.*Guru* - can pull sticks out of thin air, can picture a tree of sticks that solves problems in his head midway through hearing the problem.  This person often wears a hat.

----------


## TMS

Some superb answers here.  I especially like:





> Actually, for my money, an expert is someone who has learned enough to understand and acknowledge that he/she does NOT know it all, but has a pretty damned good idea how to find out and where to look...




I think the best way to learn is to commit to a task that you need to, and must, complete. Not something you feel that you'd like to do as a learning exercise and without a real need or purpose.  Without the commitment and the pressure, it's unlikely that you will persevere and finish the task.  And don't be afraid to try ... what are you going to break?  And don't be afraid to ask ... the only stupid question is the one you don't ask.  OK, if you keep asking the same question and don't learn, that can start to look stupid  :Roll Eyes (Sarcastic): 

Regards, TMS

----------


## MarvinP

I believe TMS is very close to what I'd advise.  

Without a problem there is not much of a solution.  To learn VBA is way too broad a goal.  I'd find some problems at work or on this forum and try to solve them.  I'd first look for non-VBA answers and only jump into VBA if it is really needed.  Start accumulating small sub routines of code and keep them easy.  NEVER name your variables a single letter.  Name them meaningful words so your code can be read and understood later.  Develop a style of indentation and keep it consistent.  

Do these things to learn.
Record a short macro and set a breakpoint and run it again, step by step.  Read http://www.cpearson.com/Excel/DebuggingVBA.aspx 
Set the value in a cell to something using VBA
Set a formula in a cell to something using VBA
Learn to do For Next loops using a Row Counter.
Learn to use the Immediate Window to see if Excel VBA knows what you are asking for, by using the debug.print statement.
Read others code to see which style you like and follow them.
Learn Event Code behind a worksheet vs Global code in a Module. http://www.cpearson.com/Excel/Scope.aspx 

To claim we are "Expert" is too much to ask.  How about just getting a problem and being able to solve it.  Would that be enough to call yourself an expert?

----------


## JBeaucaire

...must add, I'm enjoying this thread.

----------

