MS Office Forum

Ask Question   UnAnswered
Home » Forum » MS Office       RSS Feeds

VB.Net, VB6, VBA[Excel] (?)

  Asked By: Danielle    Date: Feb 12    Category: MS Office    Views: 1644

Is there much difference between VB.Net, VB6 and VBA[Excel] (?)
Is VBA(Excel) more widely in use than VB.Net and VB6 ?



3 Answers Found

Answer #1    Answered By: Caroline Bowman     Answered On: Feb 12

Yes, there's a difference  between them VBA, VB and VB.NET.

First of all...Visual Basic (VB) is a development environment that needs to
be compiled and the result is a self-running EXE. It also has several
more/different functions/commands, etc than VBA.

Visual Basic for Applications (VBA) is like VB's little brother. It is
powerful, but missed some very useful commands that VB has. Also VBA MUST
have an application to run the code...a HOST program and the code is
recompiled to run within the host program every session when the code runs.
VBA cannot be self-running...it can only run inside the host program...and
the object model in each version of VBA is customized to the application
hosting it. In other words, Word VBA contains objects related to
Word...Excel has those related to working within Excel...Visio version works
with Visio object, and so on. Any company can purchase the rights to develop
and run a version of VBA within their own app, customized for that app's
object model.

The latest version of Visual Basic is 6x, I believe.

The latest version of VBA in Office, is 6x.

VB.NET is a newer version that runs within the .NET framework in newer
version of Windows. The commands and basic syntax is different from VB or

Excel VBA is one of the most versions of VBA...as is the version/use of Word
VBA. You'll get different opinions about VB versus VB.NET. Microsoft
originally said VB.NET would have the ability to fairly easily convert VB up
into that newer version. But that didn't happen. So legacy code needs to be
rewritten or converted with much effort to work properly. This means there
has been a lot of complaining over .NET and a lot of VB users refuse to move
forward. But then again...many embrace the change and bit the bullet. Still
more work with both versions.

You can't really compare whether Excel VBA is more widely used than VB
because you're comparing apples and oranges. There are millions of VB devs
and tons of them have taken on/moved to .NET. I suppose you can check stats
somewhere...but if you want to write code in Excel, you need to use Excel
VBA. If you use VB, you can't write code in Excel...without accessing
Excel's VBA. So it's kinda like you're asking how many people develop in
these different version. In other words...if you were a VB.NET developer,
you'd still need to learn Excel VBA to use Excel's development language. And
if you know Excel VBA, you'd still need to learn VB.NET to work in that
platform. So a comparison in the way I think you're asking isn't really a

And since Office 12 will focus on XML (and still VBA, too)...who cares about
.NET...not me!<evil smirk>

Answer #2    Answered By: Karla Ortiz     Answered On: Feb 12

First of all, what is Office 12 ?
Second of all, if VB.Net is to generate web-content material and
Office12[ VBA & XML] can also generate web-content material; why bother with

Answer #3    Answered By: Anu K     Answered On: Feb 12

>First of all, what is Office 12 ?

The next version of Office, which is now in beta. See the link below for
more info.

A Look at Office 12

>Second of all, if VB.Net is to generate web-content material and
Office12[ VBA & XML] can also generate web-content material; why bother with

HA! That's a loaded Question!<g>

But the truth is that .NET is supposedly more efficient for the web and
there are a bazillion solutions that don't require Office and doesn't work
with XML...so you need something "more" and VB.NET along with ASP.NET are
supposed to be the solution for many issues.

But there's always more ways to do the same thing. So use what you want,
some will be harder to code but more efficient...and some will be easier to
code, but less efficient. I'm sure there are better ways to do things I do
now...but I don't know what they are, so I use what works.

Didn't find what you were looking for? Find more on VB.Net, VB6, VBA[Excel] (?) Or get search suggestion and latest updates.