Is VBA getting phased out?
Microsoft updated its programming languages strategy, confirming that Visual Basic will remain a going concern even though it's still relegated to second-rate status when compared to C# and F#.
Re: Excel Online: replacement for VBA macros...
Scripting: In Excel Online, you can use the built-in scripting capabilities provided by Microsoft. Scripting allows you to automate repetitive tasks and perform custom operations on your Excel data.
The Verdict: Learning VBA Is Still Worth It in 2023
Acquiring a little VBA knowledge will definitely enhance your skill set. In this article, we have covered several factors that make VBA skills super valuable in the workplace. Even if you don't know how to write code, it's worth learning VBA skills.
In February 2022, Microsoft announced its plan to block VBA macros in files downloaded from the Internet by default in a variety of Office apps due to their widespread use to spread malware.
So yes, it is possible to make a living (and a very good one) with VBA. There are far less opportunities where the job title is “VBA Developer” than there were say, 10 years ago. Sure, they still exist but they're focused in specific industry sectors and geographical locations (we'll get to that in a minute).
VBA macros are a common way for malicious actors to gain access to deploy malware and ransomware. Therefore, to help improve security in Office, we're changing the default behavior of Office applications to block macros in files from the internet.
VBA is perfect for the automation of workflows in Microsoft Office applications. But as soon as you need to automate workflow outside of MS Office applications, Python will be the better choice. Python is powerful when it comes to data preprocessing, analyses, and visualizations.
Everything you can write in VBA can be done in Python. This page contains information that will help you translate your VBA code into Python. Please note that the Excel Object Model is part of Excel and documented by Microsoft.
Power Query can easily replace VBA (Visual Basic for Applications) as it enables you to: Process your tables simply by clicking on buttons. Plus, no coding skills are needed! Visualize your operations step-by-step without running a single macro.
Yes, absolutely! VBA is commonly used to automate Excel with macros, add new user defined worksheet functions (UDFs) and react to Excel events. Everything you would previously have done in Excel using VBA can be achieved with Python. Using Python as a VBA replacement has many benefits and is usually faster than VBA!
Does anyone still use Visual Basic?
Nowadays, while it isn't the newest programming language, it's still used today by companies worldwide. And it makes sense why: it's a powerful tool for back-end programming, and while it's often used to build internal systems, you'll also find it in web and system applications and even chatbots.
Microsoft announced its plans to disable macros by default back in February to stop threat actors from abusing the feature to deliver malware via email attachments. “VBA macros are a common way for malicious actors to gain access to deploy malware and ransomware,” the company said.
According to Lucas, Microsoft made an “unforced error” when it released VB.NET in 2002. Although the language was similar, there was no migration path, and new . NET features such as full object orientation were not wanted by VB developers. Usage dropped, and today VB.NET is a poor cousin to C#, which dominates .
Both frameworks are designed to empower people who may not consider themselves programmers to create small programs in Excel. The fundamental difference is that VBA macros are developed for desktop solutions and Office Scripts are designed for secure, cross-platform, cloud-based solutions.
There's obviously a lot within Excel's built in functionality that can support the user on doing these tasks quicker but VBA also always you to create custom functions making this very easy to work around. This is great for scientists and engineers who have to work with complex formulas for their jobs - as an example.
Microsoft has pushed Python, JavaScript, and Office Script as VBA replacements for years. Then there's Power Query, Power BI, Power Automate etc. for data and viz. Now, add in GPT-4 and Microsoft Copilot.
Macros are written in Visual Basic for Applications (VBA) and are saved as part of the Office file. Macros are often created for legitimate reasons, but they can also be written by attackers to gain access to or harm a system, or to bypass other security controls such as application allow list.
Microsoft plans to start blocking VBA macros obtained from the Internet in Office by default in early April 2022, and the new default behavior will roll out first to Microsoft 365 subscribers in the Current Channel (Preview).
Yes, VBA is still useful and used by individuals interacting with Microsoft products. However, newer languages such as Python, C#, or R can be used to code in place of VBA.
SQL is easier, and VBA is a bit tricky to catch on initially. However it would be advisable to start with VBA, so that you get a basic understanidng of the programming flow and framework, and then move on to SQL.
Is Python more powerful than VBA?
In summary, if your focus is on automating and customizing Microsoft Office applications, then VBA is likely the better choice. However, if you need a more general-purpose programming language that can be used for a variety of tasks, then Python may be the better option.
For developing businesses, you need VBA. You can create systems and streamline processes and do really cool fancy things. You can make some good money in smaller businesses who can't afford to pay large sums of money for massive data warehouses.
Advanced Excel skills are all about mastery over formulas, VBA (Visual Basic for Applications) programming, and other Excel features for handling complex tasks. Experts can use Excel for more advanced purposes like data analytics and simulation.
In comes Power Automate to the rescue! Whilst being a separate tool it can be used to capture some Excel online events and many more which VBA cannot. For example, if you move files or receive data from within online apps, Power Automate can capture those including those events from apps outside the Microsoft universe.
Early in the summer of 2019, we officially deprecated the Power Query add-in which is required for Excel 2010 and 2013 for Windows.
References
- https://www.ncsc.gov.uk/guidance/macro-security-for-microsoft-office
- https://www.traininghamilton.com/is-excel-vba-still-worth-learning/
- https://www.linkedin.com/pulse/office-scripts-vs-vba-whats-story-les-black
- https://devclass.com/2023/03/20/microsofts-visual-basic-why-it-won-and-why-it-had-to-die/
- https://www.quora.com/Does-VBA-programming-have-any-future
- https://en.wikipedia.org/wiki/Visual_Basic_for_Applications
- https://www.codecademy.com/resources/blog/what-is-visual-basic-used-for/
- https://www.quora.com/Is-SQL-or-VBA-more-difficult-Which-one-should-I-learn-first
- https://techcrunch.com/2022/07/22/microsoft-office-macros-blocked-default/
- https://support.microsoft.com/en-us/office/about-power-query-in-excel-7104fbee-9e62-4cb9-a02e-5bfb1a6c536a
- https://techcommunity.microsoft.com/t5/excel/excel-online-replacement-for-vba-macros/td-p/3829874
- https://medium.com/@helpedbyanerd/vba-vs-python-which-language-is-worth-learning-3998d50a6766
- https://www.investopedia.com/terms/v/visual-basic-for-applications-vba.asp
- https://www.thurrott.com/office/262407/microsoft-office-will-now-block-vba-macros-by-default
- https://www.reddit.com/r/vba/comments/12qbgcw/whats_the_future_of_vba/
- https://www.testgorilla.com/blog/the-definitive-guide-to-hiring-an-expert-with-advanced-excel-skills/
- https://learn.microsoft.com/en-us/office/dev/scripts/resources/vba-differences
- https://upslide.net/blog/power-query/
- https://www.linkedin.com/pulse/why-all-professionals-should-learn-vba-scripting-george-check
- https://www.pyxll.com/docs/userguide/vba.html
- https://www.linkedin.com/pulse/confused-between-vba-python-excelgoodies-software-private-limi
- https://learn.microsoft.com/en-us/deployoffice/security/internet-macros-blocked
- https://support.pyxll.com/hc/en-gb/articles/360036822173-Can-Python-be-used-to-replace-VBA-
- https://www.reddit.com/r/excel/comments/3vy5al/is_knowing_sql_or_vba_more_of_a_valuable_skill_to/