I've used Excel quite a lot for generating g-code for odd shapes like cams of various types, though not VBA. The problem with VBA is you need Excel so of course it's not compatible with Linux for those using LinuxCNC. I recently wrote a wizard to generate code for knurling using the rotary axis on my CNC mill - initially I did this in Excel but then moved to Python which I found very easy to use (though it doesn't have any graphics). You could consider Python as for example the Thonny IDE for Python is cross platform - I run it on both the PC and a Raspberry Pi - and it's free. I believe that there are extensive graphics libraries available for Python too.