You can make a "standalong" exe in vb6 to the point where you only need the msvbvmm60.dll by writting your program using all APIs and only APIs that are dependant upon the standard Windows dlls.

Either way between VB 6, VBA, .NET you will need some kind of dependancies. If you want a stand alone exe then you would have to look at writting it in C++

.NET was designed around the framework as a common set of runtimes. think of it as the engine for your car. You dont want to install your engine, then your car wont run.