Time taken to learn VBA

pradeepkalele

New Member
Joined
Jul 27, 2014
Messages
5
Hi all there, I am a new person to vba. I came to know about vba by surfing through google. I am of the opinion that anything could be done by vba. I started searching a person who can teach me vba but for my surprise even engineers with programming doesn't know that this kind of facility in excel is there. I want to learn this skill and anybody can tell how long it will take me to start writing good macros with speed.

Thanks a lot and regards,

Pradeep Kalele:LOL:
 

Excel Facts

Back into an answer in Excel
Use Data, What-If Analysis, Goal Seek to find the correct input cell value to reach a desired result
That depends entirely on how much you practice. If you compare it to an entry-level college course on programming (in any language), it could take 3-6 months (2 semesters) but with the expectation that you learn the VBA language, learn about object-oriented programming, and learn the Excel object model and do lots of exercises.

Of course, you could take years and years and never get anywhere with it. All depends on your approach.
 
Upvote 0
If you have already had some programming experience (say C++ or Java) VBA shouldn't take more than a week to get a good understanding of. If you want to dig deeper and learn a lot of the mechanics of the language and fully understand how things work I would give yourself at least a year or 2 of working with it on a daily basis.

Don't get stuck at recording and editing macros. Read about programming principles and try to apply it within macros/apps you make. VBA is quite limited in comparison to .NET C# for instance but still most of the work any programmer wants to do using Excel as front end can be achieved with pure VBA.

VBA 4 all | programming in VBA for tips!
 
Upvote 0
If you have already had some programming experience (say C++ or Java) VBA shouldn't take more than a week to get a good understanding of.

Agreed. In comparison to something like C++, VBA is fairly primitive. There is very little memory management involved, there is no polymorphism, operator overloading, and a whole other slew of things you won't need to worry about. It's less powerful, but also simpler as a result.


If you want to dig deeper and learn a lot of the mechanics of the language and fully understand how things work I would give yourself at least a year or 2 of working with it on a daily basis.

You learn a lot when need arises. Your questions morph from "Can this be done?" into "How can this be done?" and you learn to find solutions. Over time, you refine them.

I would suggest creating a toolbox (store it in your personal macros workbook), and write generic VBA-based tools that simplify your Excel usage. I started doing this about 10 years ago, when I first got serious with VBA. Eventually, I found that some of those older tools are still extremely useful, others needed to be made more efficient and/or flexible, and yet others are not even necessary because the functionality is built into Excel.


Don't get stuck at recording and editing macros. Read about programming principles and try to apply it within macros/apps you make. VBA is quite limited in comparison to .NET C# for instance but still most of the work any programmer wants to do using Excel as front end can be achieved with pure VBA.

Also, I would say learn when VBA is not necessary. In other words, do your best not to reinvent the wheel when Excel already does it. Then again, it might be good exercise to create some of the things Excel does: text-to-columns, mail merge, recreating any built-in Excel functions, conditional formatting, consolidation, etc.
 
Upvote 0
I agree with the comments above. You'll spend more time learning the Excel Object Model and how to correctly structure your code than the VBA syntax itself.
 
Upvote 0

Forum statistics

Threads
1,215,006
Messages
6,122,666
Members
449,091
Latest member
peppernaut

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top