twinBASIC programming is backwards compatible with VB6 (it intends to be 100% and is very close to that now). Existing VB6 source code and forms can be imported and run (at least as 32 bit apps.). twinBASIC can compile to 64 bit and has many modern features. There is also an optimising compiler.
There is a free Community Edition.
VBA can also be replaced with twinBASIC programming.
Future plans include Linux, MacOS and Android versions.