Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am a dot net developer, with over 7 years experience in VB, Vb.net, C# and Asp.net.

Would it be worthwhile to learn VBA/VSTO? Would it be adding value to my career?

Would there be any companies hiring a person who knows both VBA and Dot net?

I heard that VBA would be used mostly used in finance industry and it won't pay much. Is it true?

share|improve this question

closed as too localized by Steve Evers, Walter, World Engineer, gnat, MainMa Aug 19 '12 at 14:09

This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

Why downvote without comment? People who get their judgement confused with their opinion (I don't want to work in VBA! I'm going to downvote this question!) –  Kirk Broadhurst Aug 19 '12 at 0:28
VSTO is a technology for not using VBA any more. –  Doc Brown Aug 19 '12 at 9:49
add comment

3 Answers

I don't think so. If you know VB, it wouldn't take long to get you up to speed. Wait until a specific project comes along because you'll need to know the specific references for the particular Office app.

There are common features of the language (which is why Microsoft created this and stopped having a different macro language for each app), but working with Excel and Outlook have code specific to them.

There are thousands of companies out there with several applications written in Access and Excel who would just love to hve their .NET developer take over the programming chores and clean up the mess. You, and a lot of other developers, may not want this job.

share|improve this answer
add comment

If you enjoy VBA then it's a great idea. You know what they say - VBA (or Visual Basic generally) is the new COBOL. That is, a legacy language that is no longer taught, but powers some very important systems.

Just check your favourite / local job site for VBA jobs and you'll see that there are always jobs and the pay is very reasonable. Looking today on this Seek VBA search I see a number of positions advertised $100K-$149K, and plenty in the more mid-range rate.

  • Most of the jobs are in finance, engineering, those sort of environments with a lot of numbers being crunched. Spreadsheets power the world, they become entrenched and then enhanced, and turn into gigantic macro-laden applications.

  • Most of the work in this area is maintenance, maybe adding features here and there. I can't imagine anyone building a new system in VBA.

  • Most of the people working in VBA are hangovers from when VBA / VB was the new, agile way to get work done. They have a lot of VBA experience, but might be hitting middle age or later. They most likely won't be exposed to new technologies.

So the positives and negatives are the same as tying yourself to any niche skill, like being a COBOL developer, or working on French cars:

  • you get yourself a nice niche skill that is probably fairly secure
  • you're in a limited pool of competitors
  • demand is steady and significant if not growing
  • but you won't get to use any new cool stuff tech / cutting edge
  • you'll likely find it hard to get out of VBA if you ever wanted to.

It's not for me, because I like being in the big field and keeping my options open. But I understand the attraction and think it's a legitimate place to be.

share|improve this answer
+1, comprehensive analysis, although, French car business is still good:) –  Emmad Kareem Aug 19 '12 at 3:18
Thanks Kirk, for the useful reply. –  user1170727 Aug 19 '12 at 7:43
add comment

VBA has had a long history of use. I first developing it ~1995. I was able to not just automate excel spreadsheets and PowerPoint, but it could also be used to control other applications that used COM. I Could also use it scrape data from webpages and later ones that provided web services.

But I see the end coming. As more organizations switch to open source "office" applications they use other scripting languages. Some of the non-Microsoft applications are using python for scripting. I still use VBA occasionally, but now it is used in the final stages of the data analysis, instead of it being at the center of the process.

share|improve this answer
+1, for mentioning Python. Which office-Clone suite uses it? Thanks. –  Emmad Kareem Aug 19 '12 at 3:22
Thanks Kirk.I want to work on a technology that is a rare skill.One that has not much competition,gives a bit of job security,and a decent pay. I do learn a new technology when it comes out, but only to stay in the job :). but my problem is on two counts. 1. Since most of my experience has been in web based applications using c#, vb.net and asp.net, I dont think this experience will be helped by companies working on VBA/VSTO. 2. As per my current exp, am paid quite well, but I may be paid too low, by any company working in VBA, since it is not considered a regular programming job. –  user1170727 Aug 19 '12 at 8:40
Actually, to automate things in Excel and the rest of the MS office world, I don't see any real alternative for VBA provided by Microsoft. VSTO, for example, needs additional tools installed, is much harder to learn and needs a lot more administrative overhead. Personally, I prefer using Excel-DNA, but then you have to choose either to use a full-blown IDE like Visual Studio (something I would not recommend for the engineers I work with) or no IDE at all. Currently, there seems nothing to exist to fill the gap between those 2 extremes. –  Doc Brown Aug 19 '12 at 10:38
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.