Many replies have suggested switching to python. Python doesn't do every thing VBA scripts could do ... low level arcobject control. You can get that with VB.Net or C#. If you know VBA then going to VB.Net is not such a great leap.
My role has been converting our VBA ArcMap customizations to VB.NET. They involve a lot of arcobjects. I started out knowing some VB. I used the venerable book "Getting to Know ArcObjects" to get how arcobjects work. There are many little changes, but these get to be routine. Some relate to changes in VB from VBA to .Net, and some are specific to esri. Converting the use of Variant to Object can be a pain. However the biggest changes are in Windows forms e.g. how treeviews are traversed has been substantially changed.
The other area of knowledge upgrade was getting fully into object orientated programming paradigm which is not really are the core of VBA. This changes the way you program ....