At the level of language syntax, data types, etc. they are indeed very similar. VBA is, essentially, a subset of the
VB language, and both use the MSVBVMx0.dll.
Two annoying differences:
1. VBA doesn't support control arrays.
2. VBA doesn't suppprt user-defined events in classes using
WithEvents and therefore isn't as well suited to object-oriented
programming.
Finally, you really can't think of
VB apart from the
VB Development Environment, and
VB obviously supports a much broader range of projects than VBA, such as ActiveX EXE's and ActiveX DLL's. Therefore, you think differently about developing an application in
VB than you do in VBA. For example, I tend to make much heavier use of classes in
VB which get compiled into custom DLL's that can frequently be referenced by a variety of applications. With VBA, you're constrained by the object model and environment of the particular application you are developing for. So the whole application design, compilation, packaging, deployment picture is very different. I would consider knowing about these broader application development issues part of what it means to "know
VB" (though I also understand that your question was probably asked at the level of language similarities).
Bob