# How long does it take to properly learn VBA?



## supdawg

Mods - I hope this is in the right forum. Please feel free to move if needed 

I've been writing macros for about a total of two months within the past year. I have never written code before, and have never taken a formal programming class (I don't count HTML real programming). And I have never been good at advanced math. 

I generally regard myself as a smart guy, but I admit that I am not that creative. My analytical side is way more developed than my creative side. I often struggle mightily writing the most simple code not because I don't know what needs to happen, I simply cannot put to code my thoughts. I get through most of it by being resourceful (here :D ), patient, and having a strong desire to succeed. 

In that span I've created some pretty awesome macros to help my team at work. VBA is definitely a means to an end. Thanks to the many here that has helped me tremendously. 

Enough babbling by me. VBA is coming to me very slowly. I learn bits and pieces all the time, but I know I cant learn something specifically unless I am tasked to do it. At this rate, it feels like it will be forever before I get comfortable doing it. 

How long did it take you guys who didn't have prior programming experience before it all came together for you and "clicked"? Am I just slow, or is it normal for this stuff to take time before you fully understand it?


----------



## Richard Schollar

Hi

It took me a couple of years of plugging away with VBA to get really comfortable.  Most of what I learned, I learned from this Board (especially answering others' questions) - I think it's a great resource because it can provide you with a problem that needs solving that you can stab away at until it is solved (which goes some way to helping with your comment _"but I know I cant learn something specifically unless I am tasked to do it"_).


----------



## gwkenny

99% of most anything can be done with the basic programming statements if/then, while/wend, do/while, for/next etc....

The 'programming' logic is not that hard to learn.  You don't need advanced math.  You just need logic.

What gets most people is learning the different application object models.  That just takes experience.  The better you know an app, the more 'objects' you'll be aware of and the easier it is to program in VBA as you just need to find the correct grammar to manipulate the object you want.  In a nutshell, there may be 5 different ways to do the same thing.  Question is which is the best?  The more you know about the app, the easier it becomes.

Unfortunately it doesn't help that the VB MS Office Application Object Models all started out from different places so the object models across apps are not truly in sync, but they are a lot better now than it was in the past!

Took me 5-weeks in Word from knowing nothing (but I was an expert Word user).  Delivered a fully functioning presentation system that went international which interfaced with a document management system.  Big caveat though as I was programming since I was in Grade school.  So I knew programming and I knew the app, just needed to figure out the proper program "grammer".


----------



## SydneyGeek

As the others have mentioned, it takes time but it takes less time if you get expert help or access to good examples (eg, via this Board) and you will get further if you have a real problem to solve. 

You never really stop learning; you just get to the point where your toolbox is big enough for you to be able to consider VBA as a productivity enhancer, not a drain on your time and resources. 

Denis


----------



## Domski

> The 'programming' logic is not that hard to learn. You don't need advanced math. You just need logic.


 
I agree with this, my maths is appalling .

I think experience of programming in the past is a definite advantage, not one that I have alas. I'd also recommend a good book on Excel VBA programming. There are quite a few about.

In the past I haven't done a lot of VBA as my job didn't call for it a great deal but I still think I've learnt a lot over the last year or so from messing about with problems posted on here. I've now been given a lot more work (and no more staff) that fortunately is of a type can can be automated so for the next couple of months I'm going to be pretty full on with it.

Personally, I like to try and work out problems for myself before resorting to the board but it's often worth checking things out here as there are loads of really good VBA guys here that will demonstrate how to avoid bad habits that you might get into or ideas you may not have even contemplated.

Like anything some people take to it faster than others but if you persevere you'll get there I'm sure.

Dom


----------



## Richard Schollar

Domski said:


> I agree with this, my maths is appalling .


 
Unlike mine, which is superb - in fact probably better than the other *23* people who have replied to this thread


----------



## SydneyGeek

Hi Richard, good to see your skills are as strong as ever!

That wasn't *2+3* was it? 

Denis


----------



## Domski

SydneyGeek said:


> Hi Richard, good to see your skills are as strong as ever!
> 
> That wasn't *2+3* was it?
> 
> Denis


 
Which would have been wrong anyway. 

Dom


----------

