Python as an Excel scripting language
Let us do scripting with Python! Yay! Not only as an alternative to VBA, but also as an alternative to field functions (=SUM(A1:A2))
Thank you to all those participated in our survey. What an amazing number of responses, many of them with very deep content. We’re processing the over ten thousand responses(!), and already appreciate the time so many of you took to answer with passion and experience.
Please know this survey is used to help influence various topics – both on Python as well as other related topics that the comments started to bleed into. Given the passion, I want to be clear this remains an area of exploration for us, without any specific timeline.
We’ll provide updates as we progress on this feature request.
Lead Program Manager
Will this be moving forward now that Guido has joined Microsoft?
Agreed it needs to be added as a facility by Microsoft not a third party at extra cost to be useful so work can be shared.
Michael Critchley commented
What you fail to mention Tony Roberts is that you have to pay a $25/mth subscription to Pyxll to implement the solution you suggest. Excel users shouldn't have to pay extra to code using a modern programming language. Microsoft has the resources to replicate and surpass the functionality that this 3rd party software provides and yet, for whatever reason (an explanation would be nice), chooses to retain a legacy IDE for an outdated programming language.
Tony Roberts commented
If you want to use a Jupyter Notebook from within Excel for scripting like you can with the VBA editor see this https://youtu.be/Od-1cEac9U4. You can script Excel with this and Python, as well as writing user defined functions, RTD, macros, menus etc.
Tony Roberts commented
Python can already be used as a scripting language in Excel. Here's a video that shows how it's possible to write Excel functions entirely in Python: https://youtu.be/vyDd_3r93cU
Melisa Barýþ commented
This exceeded my expectations and is better than anything else I have used. I would definitely recommend it for such service
Get in touch with spydetections on
What Microsoft is doing is letting people know that if you need more advanced resources you better go to something different rather than excel
Muhammad Raza Cheema commented
I work in the Manufacturing Industry and when we can't find a calculation in commercial software we turn to Excel and make a spreadsheet. One of the main reason I don't like Excel is how limited the VBA is regarding data integration. I learned Python to look for other solutions and I love Python now. It has everything for me and now I can create calculation spreadsheets without even thinking about excel.
No one asking to remove VBA support as a lot of businesses rely on it. Just add python support along with VBA and give users a choice. ANSYS has done it by using IronPython project.
Nick Hemsing commented
For those that are defending VBA, this isn't about VBA or replacing VBA with Python. Too many business and finance users are deep into VBA and I think Microsoft is well aware of the necessity of VBA to those users.
However, Excel is also used for sciences, including data science. It is also used by business users like me that use Python to manipulate large data sets. Having Python (or R) as another scripting language for Excel allows those users to integrate their algorithms with the features of Excel. Excel can, for those users, then take advantage of an expansive list of packages for gathering and manipulating data to then present in or prepare for further review, in their spreadsheets.
Adriaan Riet commented
@Joe Bockover I really don't think you need to fully understand interpreters or third party modules to use python, any more than most business professionals understand the DOM. Also, python isn't a one-trick pony, so you can't pretend it "belongs" in one environment. I'm still hoping (maybe) one day to get this feature, so I disagree with those leaving "forever" that we've All Moved on, though. I found python far easier to learn than VBA, but maybe that was from the good documentation and decent IDE.
jay zh commented
@Jamie Totally agree with you. Those chose to ignore programming can still use Excel just fine, maybe with limited functionalities. However, for serious Excel users, programming is inevitable. For example, my work involves with lots of data and computations. Without a programming language's help I will be 1000 times slower and potentially not able to carry out any work. I chose to use Python to work with Excel because it's just so much better than VBA in all aspects.
Joe Bockover commented
Dear python folks who want to say goodbye: Goodbye. You won't be missed. And Excel/VBA will live on just fine without you, considering so many business processes are deeply rooted and dependent on it.
Nichlas Dyhr Hummelsberger commented
I agree with Craig. Those of us who once cared has found the solution directly in Python and have moved on.
It's a bit sad to see, as MS seems to be at the forefront of python development in other areas. But I guess Excel is dead left on life-support.
To anyone who needs real number crunshing I can recommend learning python, numpy and pandas. You will be able to do anything with data that you dream of, and can still deliver the result in pretty excel with the XlsxWriter module.
Well you've done it Microsoft. You took so much time on this that I've learned how to get what I need from open source Python libraries, and I love it! Thank you for forcing me to learn other (better and free-er) technologies. Goodbye Excel and VBA! We had some great times, but you're struggling to stay relevant in 2020.
It makes almost 5 years that microsoft promissed this feature. I think they will never release it (a python api like in libre office is not a huge work for microsoft???). The haven't released any beta version!
It would be great to enable it with a similar approach as PyXLL does:
Rodrigo Merlo commented
I agree 100% on everything you just said, this is never going to happpen.
I have a love-hate relationship with cloud-based at the moment, but won’t waste anyone’s time ranting about it here.
No one at Microsoft gets a promotion for fixing VBA, rewriting it or replacing it.
That's the reason why long lived Microsoft legacy products like Excel only get tiny micro-features and tiny bug fixes version after version.
A reskinned UI with new blocky graphics is not a feature and an insult to paying customers.
The only truly new Excel feature since Excel 2003 is changing from 65000 rows of data to millions of rows of data. The rest of better data connections, faster recalc, fancier graphsand charts are micro-features.
Treat each new feature as "Is it a core feature, or is it just a rewrite/add on to a peripheral feature?"
You will find that 99% of the features are add-ons, rewrite of peripheral features, reskinning UI, 'better tooling' or other micro features.
So What's the compelling feature difference between O365 Excel and Office 2007?
A network disk in the Cloud is not a compelling new feature.
Expect Excel versions to be pumped out every 2 years to retire and end-of-life the versions that can be had without a $10 a month subscription.
If anyone asks, mention being burned by Silverlight and Lightswitch.
Expect the 12 month announcement that your favorite cloud enabled feature will be removed with no replacement and no migration path. It's in the MS Cloud documentation that any feature may be retired with a 12 month announcement without a migration path and without any replacement software.
Lesson learned from past episodes is to not build any big business logic or workflows on those products since you rest assured will be throwing away 100% of the development costs and 100% of the company wide training you spent on them.
S. Stockton commented
@Roy - See also: OpenPyXL, xlwings.