VB6 is long gone (more than 20 years now since Microsoft released a compiler that handled it, and out of support for many years), but VBA is so different to VB.NET that I suspect that they have to keep it for backwards compatibility. The problem is that Office would need to be rewritten into .NET (with the associated slowdowns) in order for a .NET based scripting language to make any sense (in general Win32 apps can only access .NET components if they have been exposed via COM, and these are in the minority)