John M.
EdinburghUnited Kingdom
100% Job Success
Top Rated Plus

VBA expert | Excel, Word, Outlook, PowerPoint | 24 years' experience

I am undoubtedly not the cheapest VBA developer you could hire. But if you are looking for excellent communication during your project, a high-quality end-product, and a guarantee of meeting the agreed budget – then I am the VBA developer that you should hire. The cornerstone of any successful project is communication. From the start of your project, you will find that I will: • Engage with you on all aspects of your project • Answer your questions on the project • Work to clarify your requirements via a detailed Q&A, either face-to-face or via Upwork chat • Identify any areas of possible enhancement (the 'best' solution to your project requirement may be something you had not considered … after all, you are engagement with a VBA expert because you are not a VBA expert) • Identify any areas of possible contention (VBA is a very flexible and powerful language … but it does have limitations … if you have a requirement that cannot be delivered, either using VBA or cannot be delivered at all, then you need to be aware asap) • Identify any support I may need from you to deliver a successful product – for example, I may need information on your IT environment, I may need sample data for testing • Be clear with you about the cost (whether fixed price or hourly) and timeline for delivery • Keep you informed on progress • Inform you as soon as the product is ready including information on how to install the product (if relevant) and how to get started using it • Be ready for any questions you may have during installation, testing and first use The reason you would engage me for your project is to obtain a high-quality end-product. Unlike many other VBA developers, on Upwork and elsewhere, my high-quality code: • Has been fully tested in the development environment (unit, integration, system) • Comes with comprehensive code comments to aid future maintainability … either by myself or other developers • Has across-the-board error handling so that, if the worst happens, errors can be identified, located, and quickly fixed • Is unlocked and without time restriction … you own the code that I create for you • Will be built, where appropriate, from pre-existing procedures, modules, and classes … this pre-existing code has been tested over hundreds of projects I have worked on and has been shown to work time and time again … for many projects this code can be as much as 50% of the final codebase The reason you will end up coming back to me for any future VBA projects is that I will deliver the end-product to you for the agreed budget: • If we agree a fixed price then it is not an estimate, it is a quote - the price we agree is exactly how much you’ll pay … if I have underestimated the complexity of the work or how long it will take me to do the work, that’s my problem, not yours • If we agree an hourly rate then that is the rate I will charge you for the scope of the project (ongoing / indefinite-duration projects excluded) and I will be happy to tell you the maximum number of hours that the project will require • Using the pre-existing procedures, modules and classes means that I do not have to re-create the wheel for you, as much as 50% of your project already exists and can be rapidly implemented into your codebase leaving me to focus on the elements of your project that are 'custom' and specific to you If you are wondering whether you can believe that I really provide excellent communication, a high-quality end-product, and a guarantee of meeting the agreed budget then I ask only that you read the reviews from past clients in my Upwork profile … every review is from a client who is pleased that they hired me. I have a "Top Rated Plus" rating and a 100% "Job Success Score" for a reason. I look forward to discussing your project.
Work history

John M. has more jobs. Create an account to review them


  • Spreadsheet Software
  • Macro Programming
  • Visual Basic for Applications
  • Macros
  • Excel Macros
  • Spreadsheet Macros
  • Spreadsheet Automation
  • Power Query


Endorsements from past clients

"I employed John create a complicated Word Macro to insert images downloaded from the Internet throughout a document template. John was a pleasure to work with and undertook the work quickly and efficiently and the macro works perfectly. I recently had some different work undertaken on the same template by a different developer. The developer saw Johns work and commented on how well it was written even going so far as to say "it was like a work of art", high praise from another developer. Should the need arise I will be using Johns services again."

Matt W.
Dec 2023


"I've worked with John on multiple successful projects dating back to 2021. John is incredibly knowledgeable in all things Microsoft VBA, and I've never worked with a more meticulous, thoughtful programmer. The systems he's built are still in place today, and hes always quick to provide additional support where required. I wouldn't hesitate to work with John again and would recommend his services to anyone looking for a reliable, professional VBA programmer! Thanks John."

Scott A.
VBA, Word and Excel automation Aug 2023