Definitely learning VBA is a no-brainer if you don't already currently know it and want to lift your game. I taught myself by simply jumping in with a lot of trial and error involved. For VBA there are plenty of online forums that have code suggestions to do something similar to a given problem you might have that you can learn and tweak to your own needs. Simply search for what you want to achieve with 'VBA' in the search and you'll no doubt have many suggestions where people have already solved similar issues.
What do you want to do that you currently cannot do or are being held back from based on your current knowledge?
For me having a goal in terms of creation of a standardised spreadsheet tool/template to help me become more efficient was the goal to tipping me over the edge from an occasional dabbler in VBA to me learning VBA in a more through and lasting way. So I'd suggest you probably have to have a driving force or end result in mind, rather than a desire to simply learn it for the sake of learning, come up with something you require that can only be done with the help of VBA, etc. Use this task to teach yourself in the process.
I created an add-in tool that stores the inputs and outputs from a workbook within the worksheet, with the ability to recall any of the design cases as required. It was all run by a custom ribbon (learning XML as well in the process) in excel, and eventually went company wide. As opposed to having 15 copies of a single spreadsheet with different inputs, having one workbook with all 15 cases being able to be recalled into a single common sheet within a few seconds saved a lot of time for a lot of people. Tools in the ribbon aided in achieving a standardised formatting for inputs/outputs, and greatly increased the speed of development of new calculation templates based on this template and creation of a standardised environment for development.
I've never found books that useful, in the sense that I own a few but never really read that much of them as I could always find what I wanted online in forums and blog posts.
In terms of VBA for engineers/by engineers and in general check out these blogs:-
wellsr.com (check the tutorials)
newtonexcelbach.com (By member IDS on these forums)
For charting & some general VBA I've always found
peltiertech.com to be a valuable resource as well.
Interfacing python with excel seems to be gaining popularity so that might also be a worthwhile to learn, I don't have any experience with this (yet).