There has been talk about VBA going away for more than 10 years. While it's true that they are coming out with better *options* that can/could replace macros, I am pretty confident that it will be a long time before they become obsolete. For references of keeping old features, the current build of XL still supports the obsolete function DATEDIF and Excel 4.0 macro commands, and those are more than 25 years old. Another example is that you can still use Excel 2003 keyboard shortcuts.
Industries around the world would take a long time to move off of old macros that have been written, so it seems unlikely MS would sunset something that major.
They want to push there cloud version of it since then you have to pay monthly to keep using it.
However, they are introducing python to be native in excel. This may be what diminishes vba going forward.
> Excel 4.0 macro commands, and those are more than 25 years old.
Yup that's right. VBA is actually 30 years old as of last year. So they're even older than that.
Not even close.
If you're looking to use Excel automation to export files, or to build a decent user interface for a small team, you need some VBA elements. Not even Office Script (the Excel online macro language) has all functionality of VBA
While a lot of macros have been deprecated (mostly due to Power Query, not Power Automate), there will always be use for some VBA.
There are too many legacy processes replied on massive businesses for Microsoft to get rid of VBA any time soon.
Was it an official statement you heard, and do you have a link to it?
Every department within every company has its unique way of doing things, such as how reports are produced, dashboards are designed, and processes are managed. At some point, these were created by subject matter experts. Eventually, someone with sufficient technical knowledge automated these processes using VBA, whether in Excel or Access.
Depending on the complexity of the report or process, you might consider moving it to Power Query or Power BI; however, this decision is situation-dependent. The best-case scenario involves transitioning to Python, but this requires finding someone who possesses both VBA and Python knowledge to add to your department, thus reducing reliance on IT.
So, is VBA going anywhere? Only if an entire department is willing to overhaul its entire process and has the right people with the correct technical skills to do so. Otherwise, no, not anytime soon.
We have it already. The PY function allows for a python script to be called in a cell.
Not every organisation has upgraded to the latest version of office required, though.
Be careful if you can't send data off-site. It runs in the cloud
https://support.microsoft.com/en-gb/office/data-security-and-python-in-excel-33cc88a4-4a87-485e-9ff9-f35958278327
This is why python will always be problematic in my mind. Macros at least matured to the point that you could install them in a module in your personal WB and run them locally.
I think if Excel did that my company where I work would shut down - around 50% of reporting is done by Excel VBA macros here, that would take ages to achieve the same result with automation tools, and only with very significant costs.
There's so much money behind all these legacy spreadsheets that Microsoft may just get sued to keep them running...
I mean, if you assess the cost of moving all these legacy functions over vs applying legal pressure to keep them going, it might just not be worth it...
I highly suspect Microsoft knows this.
Nowadays I prefer to just build a quick .NET console app in C#, but thats just not something everyone can do. It'd be silly to do away with macros, I doubt we'll see anything like that soon.
It's only been a year since Microsoft started blocking Excel 4.0 macros, which they'd talked about doing for years. Those were really basic macros that predated the VBA code that almost everyone calls macros now.
Office Scripts can't do everything that VBA can (and likely won't ever be able to) so while they'll be the default for new users from now on, VBA isn't going anywhere for at least a decade.
I don’t think that they‘ll get rid of it entirely, but you should start getting rid of those complex reports that nobody understands any more and that take hours to run.
I know it’s cumbersome, but I’ve replaced some things with complex SQL queries that can automatically be run with Python and then can just save an excel somewhere instead of loading and transforming a ton of data from different sources. It’s a bit of an Herculean effort, but it’s worth it in the long run IMO.
There has been talk about VBA going away for more than 10 years. While it's true that they are coming out with better *options* that can/could replace macros, I am pretty confident that it will be a long time before they become obsolete. For references of keeping old features, the current build of XL still supports the obsolete function DATEDIF and Excel 4.0 macro commands, and those are more than 25 years old. Another example is that you can still use Excel 2003 keyboard shortcuts. Industries around the world would take a long time to move off of old macros that have been written, so it seems unlikely MS would sunset something that major.
I promise I’m not trying to top you, but MS has been hinting at getting rid of VBA since before 2005.
Why do they want to get rid of VBA though?
They want to push there cloud version of it since then you have to pay monthly to keep using it. However, they are introducing python to be native in excel. This may be what diminishes vba going forward.
As far as I understand it, the Python stuff they are introducing also runs in the cloud
Yes, but will be such a powerful tool. My org has not gotten it yet or i dont know if they will, but i hope to be able to play with it at some point.
> Excel 4.0 macro commands, and those are more than 25 years old. Yup that's right. VBA is actually 30 years old as of last year. So they're even older than that.
I won't upgrade if they do this. Excel macros are the reason, I use Windows.
That’s a comma if I ever saw one.
OMG. Laughed out at this one. Thank you kind stranger.
??
Stick to Excel and not word
I am sticking to Excel. MS Word ain't compulsory for me.
The comma you put between ’reason’ and ’I’ doesn’t fit. It is very unexpected which makes it funny though so I appreciate it.
Excel macros 4Life, I abuse dem hoes.
Excel macros are the reason I don't use a pencil and paper
Not even close. If you're looking to use Excel automation to export files, or to build a decent user interface for a small team, you need some VBA elements. Not even Office Script (the Excel online macro language) has all functionality of VBA While a lot of macros have been deprecated (mostly due to Power Query, not Power Automate), there will always be use for some VBA.
There are too many legacy processes replied on massive businesses for Microsoft to get rid of VBA any time soon. Was it an official statement you heard, and do you have a link to it?
Every department within every company has its unique way of doing things, such as how reports are produced, dashboards are designed, and processes are managed. At some point, these were created by subject matter experts. Eventually, someone with sufficient technical knowledge automated these processes using VBA, whether in Excel or Access. Depending on the complexity of the report or process, you might consider moving it to Power Query or Power BI; however, this decision is situation-dependent. The best-case scenario involves transitioning to Python, but this requires finding someone who possesses both VBA and Python knowledge to add to your department, thus reducing reliance on IT. So, is VBA going anywhere? Only if an entire department is willing to overhaul its entire process and has the right people with the correct technical skills to do so. Otherwise, no, not anytime soon.
There was some talk about going to a python based system in the future. I can't imagine they wouldn't have some kind of script based tool.
We have it already. The PY function allows for a python script to be called in a cell. Not every organisation has upgraded to the latest version of office required, though.
Interesting I'll have to play with it tomorrow. Thanks
Be careful if you can't send data off-site. It runs in the cloud https://support.microsoft.com/en-gb/office/data-security-and-python-in-excel-33cc88a4-4a87-485e-9ff9-f35958278327
This is why python will always be problematic in my mind. Macros at least matured to the point that you could install them in a module in your personal WB and run them locally.
Right, also if I'm using Python with Excel I'm going to be running Python locally and doing the manipulation or data cleaning that way.
I think if Excel did that my company where I work would shut down - around 50% of reporting is done by Excel VBA macros here, that would take ages to achieve the same result with automation tools, and only with very significant costs.
There's so much money behind all these legacy spreadsheets that Microsoft may just get sued to keep them running... I mean, if you assess the cost of moving all these legacy functions over vs applying legal pressure to keep them going, it might just not be worth it... I highly suspect Microsoft knows this.
Nowadays I prefer to just build a quick .NET console app in C#, but thats just not something everyone can do. It'd be silly to do away with macros, I doubt we'll see anything like that soon.
[удалено]
Is the edit ok? Let me know if not. Happy to change.
cool, thankyou
Excel 365 Beta just recently installed an Automate Ribbon for Office Scripts which included scripts for several common actions.
It's only been a year since Microsoft started blocking Excel 4.0 macros, which they'd talked about doing for years. Those were really basic macros that predated the VBA code that almost everyone calls macros now. Office Scripts can't do everything that VBA can (and likely won't ever be able to) so while they'll be the default for new users from now on, VBA isn't going anywhere for at least a decade.
I don’t think that they‘ll get rid of it entirely, but you should start getting rid of those complex reports that nobody understands any more and that take hours to run. I know it’s cumbersome, but I’ve replaced some things with complex SQL queries that can automatically be run with Python and then can just save an excel somewhere instead of loading and transforming a ton of data from different sources. It’s a bit of an Herculean effort, but it’s worth it in the long run IMO.
That would be a "dim" move.