How to Replace VBA with Python(Step-By-Step Tutorial)

Sdílet
Vložit

Komentáře • 227

  • @Excelmacromastery
    @Excelmacromastery  Před 2 lety +66

    I hope you enjoy this video. Let me know in the comments if you plan to use Python with Excel.

    • @anilaeek4374
      @anilaeek4374 Před 2 lety +1

      I'm getting error will trying to import openpyxl thru vs code also tried to run thru terminal the error says "module error unable to import" and asking me to install mkl-packages for intel from git. How to fix this??

    • @banyagatiger
      @banyagatiger Před 2 lety

      Your tutorials are great! Keep it up mate! Hoping to see more python in excel samples! Thanks bud!

    • @OssMoss1
      @OssMoss1 Před 2 lety

      Excellent tutorial - well explained, 'no fluff, no noise; honest and down-to-earth'... I was missing a few bits and it was a pain of trial n'error... your video I filled the gaps... now I'm ready to take the plunge...

    • @kasio24
      @kasio24 Před 2 lety

      thanks for this report I see you from Colombia nice work. you have the new subscriber

    • @ExcelInstructor
      @ExcelInstructor Před rokem

      Hello
      I like your VBA videos, but will you make "python macro mastery" channel in which ull teach how to use python with excel / SAP / ERP systems?

  • @elsheep6951
    @elsheep6951 Před 2 lety +4

    Hi Paul, since doing your webinar VBA course (thank you it has proved useful time and again) I wandered into Python, pandas and saw that they were powerful and useful but could not for the life of me see how I could use them in the office. So glad you are still here to help. It also looks like my role playing project is getting an upgrade!

  • @rickwize1182
    @rickwize1182 Před 2 lety +37

    You are an excellent teacher & I learned about VBA from you. Would love to see you have a full course on Python / Excel / xlwings. Would sign up immediately!

  • @sindiso_ndlovu
    @sindiso_ndlovu Před 2 lety +3

    This video worth all the credits I can possibly give, so much information in just 30 minutes. Wow this was an amazing tutorial trust me I've done a lot

  • @yvonplancade725
    @yvonplancade725 Před rokem +1

    Big thanks!
    After long searches without success on the net, I arrived on your site thanks to which I finally managed to understand and implement xlwings.A great moment!!!

  • @wayneedmondson1065
    @wayneedmondson1065 Před 2 lety

    Hi Paul. Thanks for this intro to Python with EXCEL. Nice to know the options and how they work together. Thanks for sharing :)) Thumbs up!!

  • @z.r.777
    @z.r.777 Před 2 lety +1

    Opened the video, jumped to an area of interest, within 5 seconds I learned something new... Thank you.

  • @michaellean
    @michaellean Před 2 lety +12

    Fantastic! Have been wanting to "jump ship" to Python - I can now steadily upgrade and use the best of both worlds! Thanks for the great and easy to follow intro

    • @Excelmacromastery
      @Excelmacromastery  Před 2 lety +2

      You're welcome Michael.

    • @Freeflier1978
      @Freeflier1978 Před 2 lety

      I was in Python before I got into Excel. I'd rather just run Python as excels backend vs VBA.
      I write most of my excel sheets using xlxswriter Python library as well.

  • @SaidElnaffar
    @SaidElnaffar Před 2 lety

    Unique tutorial with a great contirbution!

  • @MrPaunty
    @MrPaunty Před 2 lety

    Thanks Paul, that will help me in start xl automation through python

  • @jaimesastre6393
    @jaimesastre6393 Před 2 lety +1

    Wow, I do use python and Xls separately, sometimes with Pandas. But here the combination with other libraries open infinite possibilities.
    Thanks 🙏👍

  • @freeliberalminds
    @freeliberalminds Před rokem +1

    Great thanks for this tutorial sir Paul. This is very interesting and very informative.

  • @surat-dt9sr
    @surat-dt9sr Před 2 lety

    Thanks so much. I'm newbie . Your explanation quick but we got the point

  • @DavidRejavinski
    @DavidRejavinski Před rokem

    This is really a very concise and powerful mini-tutorial. Take your time and revise every detail. Thanks Paul K.

  • @SpManos-zeke
    @SpManos-zeke Před rokem

    Installation worked like a charm, thank you. Though I did have to use this method to find the XLSTART folder since I don't know my way around the VBA Editor in Excel 1-Click File > Options.
    2-Click Trust Center, and then under Microsoft Office Excel Trust Center, click Trust Center Settings.
    3-Click Trusted Locations, and then verify the path to the XLStart folder in the list of trusted locations.

  • @zetandpeligaming
    @zetandpeligaming Před 2 lety +3

    Very useful thanks. Been using VBA in excel for a while now, and wanted to learn another language. This bridges the gap nicely and allows me to apply what I've learnt with VBA to start playing with Python a bit more :)

    • @mKravedi
      @mKravedi Před 2 lety +1

      Same goes for myself! Very useful video! Thanks Paul!

  • @pravinshingadia7337
    @pravinshingadia7337 Před 11 měsíci

    Thank you - this is awesome. First step taken today to learn Python thanks to you

  • @johnwayne8059
    @johnwayne8059 Před 2 lety

    Well done, nice video Paul!👍👍👍 that's pretty helpful!🤟😎

  • @kennethstephani692
    @kennethstephani692 Před 2 lety

    Excellent video!

  • @isadom7586
    @isadom7586 Před 4 měsíci

    You are a Magician!
    Me reading "Hello There" after you pyxld it: "Wow!"
    Thank you for the content in the description,
    I have spent 13 minutes watching this video.
    We're on Sunday, 6PM.
    Finally I found you!

  • @arielspalter7425
    @arielspalter7425 Před rokem

    Incredible tutorial. 👍

  • @azekialbayrak
    @azekialbayrak Před 2 lety

    Thank you very much Paul.

  • @pbeeby
    @pbeeby Před rokem

    Cracking video. Really useful and informative. Thanks, mate. Best wishes from Melbourne australia

  • @MsOfficeLearning
    @MsOfficeLearning Před 2 lety

    Thank you for the best tutorial sir.

  • @TheJonathanLugo
    @TheJonathanLugo Před 2 lety

    Genius! Thank you :)

  • @dwaynefong
    @dwaynefong Před 11 měsíci

    OMg this video is such much beter than the others. very clear and concise Such a good instructor. great work thank you!

  • @mattkriese7170
    @mattkriese7170 Před rokem

    Excellent info!

  • @micheltw
    @micheltw Před 2 lety +1

    Great intro video for this entry of python in Excel, looking forward to get more. Can you show how to get data from a file to another file?

  • @ggod00
    @ggod00 Před 2 lety

    This is awesome. More stuff like this please.

  • @OpenSesame001
    @OpenSesame001 Před 2 lety +1

    Awesome video.. Love VBA and now I can even use VBA via Python.. thanks for insight.. also I didnt know xlsz was a zip.. nice discovery too...

  • @eprepr5914
    @eprepr5914 Před 2 lety

    Very interesting. Thanks.

  • @akshayc7152
    @akshayc7152 Před 2 lety

    Thank you..the video was very informative.. looking forward for more such videos..i am a beginner in python and this can be a good starting point..thankyou once again 🙏

  • @KLiCuk1
    @KLiCuk1 Před 2 lety +23

    This is great - hope there are more to come. Just a quick question.... print(sheet["A10"].Value) returned "Student 9" but this is the value in cell B10 on the example sheet. I'm assuming that wasn't the actual sheet that the Python code was pointing at ? If it was then I'm confused

    • @Excelmacromastery
      @Excelmacromastery  Před 2 lety +15

      You're right. Actually I inserted a column after I recorded that. It did work correctly but the ID column didn't exist when I ran it.

    • @KLiCuk1
      @KLiCuk1 Před 2 lety +4

      @@Excelmacromastery Cheers - I thought so

    • @blazer125
      @blazer125 Před 2 lety +3

      Glad I read the comments and I'm glad you asked this question.

  • @sanjayvaghela
    @sanjayvaghela Před 2 lety +1

    Awesome video Paul, I am always waiting for video, "VBA Code Run 1000 Times Faster" was amazing, I implemented on my code and my macro super fast now, keep posting, appreciated.. this video motivate me to learn Python.. thanks..

  • @daves4026
    @daves4026 Před 2 lety

    Great video.

  • @ImtiazAhmad-hg4yk
    @ImtiazAhmad-hg4yk Před rokem +1

    This kind of teaching is addictive

  • @manassehkisame6286
    @manassehkisame6286 Před rokem

    Splendid!

  • @renatocorreaarrieche
    @renatocorreaarrieche Před 2 lety +12

    Nice video, thanks, I learned a lot.
    Tip: maybe there is a wrong image in 11:05. You may had removed ID column in file and used an older image.

  • @sajeersayed2008
    @sajeersayed2008 Před 2 lety

    Can't wait

  • @edclarke7398
    @edclarke7398 Před rokem

    Excellent tutorial

  • @exeldom
    @exeldom Před rokem

    thank you very much good sir. you have shared some valuable knowledge to the world of excel users.

  • @J_Barry_S
    @J_Barry_S Před 2 lety

    Thanks for sharing

  • @taxlala
    @taxlala Před 2 lety

    i like the vedio and knowledge most.....

  • @1612ganesh
    @1612ganesh Před 2 lety

    Excited

  • @Metal-BIM
    @Metal-BIM Před 2 lety

    Is is great, I will use many of this for my work

  • @MrSabotage83
    @MrSabotage83 Před 2 lety

    Hey Paul,
    Brilliant stuff. I just started to learn PY and I have a question if I may...
    Q1 - when you set the df to the example range (a1:c13), can you set it to named ranges
    ex. df = sheet.range("myNameRNG").options(pd.DataFrame).value

  • @Denis-pq9kq
    @Denis-pq9kq Před 2 lety

    Awesome video!
    Do you know if I can install the xlwings addin on a Mac by any chance?
    Is there any pip install command for that?
    Thank you!

  •  Před 2 lety

    I have to postpone the babysitting job for 30 minutes just to watch and like this lol. Awesome!
    Tom from Danang.

  • @vikramjagtap6849
    @vikramjagtap6849 Před 2 lety

    Wonderful

  • @tomoo79
    @tomoo79 Před 2 lety

    Paul, thanks for this it is really interesting!
    i think the environment setup is not so straight forward, at least for me.
    I had to:
    reinstall numpy from within vscode
    update xlwings and conda:
    "conda update -c conda-forge xlwings"
    wk.close does not seem to work but wk.close() does seem to work
    initialising excel if it is not already open is also necessary
    xw.App (visible=True, add_book=True)

  • @riteshsingh118
    @riteshsingh118 Před 2 lety

    Could you please share a comparision video on efficiency of these tools.

  • @MrMallesh1
    @MrMallesh1 Před 2 lety

    Awesome video..... how to use msgbox in python, to interact with user. error handling etc.

  • @marshallhosel1247
    @marshallhosel1247 Před 2 lety

    Thank you

  • @MrMallesh1
    @MrMallesh1 Před 2 lety

    Looking one more video on python ! no video since last one month ! desperately waiting one more video. thanks

  • @taarigo6119
    @taarigo6119 Před 2 lety

    Great video, Thank you. Please I tried to run my xlsm file (with goalseek function) using python and import xlwings, but I have a run time error '1004' reference isn't valid, if I run the xlsm directly without python it works. Please what is the error?

  • @iggymach
    @iggymach Před rokem

    Excellent video, quick question if I may,
    I ended up watching this video as I am learning Macros for Excel but I find VBA to be archaic and old-fashion in its syntax (not to mention some limitations as not being able to resize both dimensions in a dynamic bi-dimensional array, but only the second one). Also, for me it is a non- transferable skill (where else I am going to use VBA?
    The question is: Can I use python (and those specific libraries) to achieve the same as I would with VBA, without the need to learn VBA syntax? or I still need to know the VBA syntax and only then do the translation into python?
    Thank you in advance.

  • @vishnur9773
    @vishnur9773 Před 2 lety

    For running the macro using phyton, does the excel file need to be kept opened?

  • @jimmybrancho6775
    @jimmybrancho6775 Před rokem

    hello & thank you for a wonderful tutorial! i've been fighting with xlwings for about three hours and i can't get the xlwings ribbon to appear in excel 2013. all other parts appear to be working. i'm working from a fresh anaconda install and xlwings v. 0.27.15 which conda installed itself. inside the vba editor, i see and can check xlwings as a reference. it also appears and appears to load correctly as an excel add-in. the only thing that is going wrong is that the ribbon won't appear. is there anything to be done at this point?

  • @MGE0007
    @MGE0007 Před 2 lety

    Ooooh! I think I will hang around and have a butchers at this..!!

  • @tigreonice2339
    @tigreonice2339 Před 7 měsíci +1

    Related with selenium: I have an excel or csv file, some cells have NaN value. I want when there's no value (Nan) the driver doesn't fill in the web input(with 'Nan' or nan), just skip it to the next line code instruction.... how can I do that???

  • @sanjayvaghela
    @sanjayvaghela Před 2 lety

    Hay, one suggestion.. can you make video on VBA and selenium driver? If you can its very helpful.. Thanks in advance..

  • @reng7777
    @reng7777 Před 2 lety +1

    Hi i have a prolbem by importing openpyxl.. the massege says: " openpyxl is not accessed pylance, do you know what can i do from here?

  • @vasanthkumarkallannavar7594
    @vasanthkumarkallannavar7594 Před 5 měsíci

    Good, Hey Excel MAcro Mastery i need command that reads the plotted charts and graphs in the sheet and save those charts to device, any support ?

  • @georgeiskander2458
    @georgeiskander2458 Před 2 lety

    Great Video ,,,,
    Check the pictures of the excel sheet it has ID col which is wrong

  • @speedyg2295
    @speedyg2295 Před 10 měsíci

    Wish you had this for MAC. Very informative but i couldn't get the runPython from VBA too work. I did however get PyCharm and VSCode to reach in take from and give back to Excel

  • @timucintimucin4146
    @timucintimucin4146 Před rokem +1

    For those who gets "ValueError: Cannot mask with non-boolean array containing NA / NaN values" Error. Please add "na=False" parameter to match function just like following:
    results = df[df['Class'].str.match('A', na=False)]

  • @ojieuntoo
    @ojieuntoo Před 2 lety

    Any idea how to add data to table in worksheet with python?

  • @SpecArbor
    @SpecArbor Před 2 lety +1

    Im conufsed. At 11:09, you asked python to return the value in cell A10, but it returned the value in cell B10??? Can someone explain?

  • @firstcommenter202
    @firstcommenter202 Před 2 lety

    can python do OLE ActiveX? GUI programming, Windows API?

  • @eliotharreau7627
    @eliotharreau7627 Před 2 lety

    Hi Paul, what is your color theme for VS code ? Thank you.

  • @martinholmes3305
    @martinholmes3305 Před rokem

    Wow!!!!!!!!!!!!!! I did not even know... will be working through this on my project and seeing what gives, thank you so much Maestro. Can this be done on mobile phone, maybe need to run pyhton on colab? Or can my VBA project only be converted easily into an Android app using a PC, or running the python on Colab and Google Drive, on the Chrome browser for android? It would be cool if I could scrape the data and process it, as the VBA does currently, but on android mobile phone as well.

  • @phillipssky8049
    @phillipssky8049 Před 2 lety +1

    When you do print(sheet["A10"].value) I thought you should get just number 9; how come it returned Student 9? Sorry maybe I missed something.

  • @markyaney9820
    @markyaney9820 Před 2 lety

    Can the examples in this video be performed in Intelli J

  • @muthoosmathew
    @muthoosmathew Před rokem

    Hi Paul,
    Newbie question. How can this be shared with other users who doesn’t have python installed? The advantage of using VBA is that distribution of the tool does not need any additional installations. Is there a workaround?
    Thanks in advance for your response!

  • @user-rr2vs8zl4u
    @user-rr2vs8zl4u Před rokem

    Thank You~~As Always~~!!!

  • @thsetharus
    @thsetharus Před 2 lety +1

    Ser, when trying to import, I get the error "Import "openpyxl" could not be resolved from source". So what is the reason of this? may you help?

  • @winstondemoura8267
    @winstondemoura8267 Před 2 lety

    Great video!
    Random question: Where are you from?

  • @jacobstewart5120
    @jacobstewart5120 Před 2 lety +1

    I like how this came up as a suggested video while I am sitting here like an idiot that just cut and pasted a column on a filtered 100,000x55 range... I knew I messed up as CTRL+ALT+V V was rolling off my fingers. lol

  • @munafdamani6233
    @munafdamani6233 Před 2 lety +4

    Thank you for sharing knowledge which is rarely available in CZcams world.
    Dear sir, I am using Excel in stock market data analysis. It is automated with some VBA and formulas. On daily basis, I need to download 5 sheets (CSV and excel) from one site, need to change the dates at 2-3 places and have to appy some VBA code. Can the above procedure be automated?
    Currently the above procedure takes 15-20 and then I have to analyse data. If it gives direct results within 5 minutes, then it will be fantastic.

    • @Nedim89
      @Nedim89 Před 2 lety

      Give me your contact I can make automation?

    • @varunaggarwal3958
      @varunaggarwal3958 Před 2 lety

      Did you get a reply to your question? I can't access the reply.

    • @munafdamani6233
      @munafdamani6233 Před 2 lety

      @@varunaggarwal3958 no

  • @bhaskarmukherjee7889
    @bhaskarmukherjee7889 Před 2 lety

    This is advanced... Is there any source to learn Python from very basics

  • @rsdyeahh
    @rsdyeahh Před 2 lety

    Any chance to get RTD working?

  • @thomasl.4081
    @thomasl.4081 Před rokem

    Best way for me (and 1:1 VBA commands) is with the Python win32 functionality

  • @jonsmile4279
    @jonsmile4279 Před 2 lety +3

    QQ: at 11:09 your code shows the print “Student 9” from cell A10. Cell A10 contains “9”. Cell B10 contains “Student 9”. What am I missing?

  • @heyjude1971
    @heyjude1971 Před 2 lety +1

    Great video! Thanks so much for the info!
    It amazes me that only 9% of viewers upvoted it. We know the 91% who didn't upvote likely learned something. (And there are presently no down votes.)
    We can do better than this. If you learned something from (or enjoyed) a video, let's at least give it a click; it's effortless.

  • @khalilothman5638
    @khalilothman5638 Před 2 lety +1

    when I press the button it say :
    Error
    ---------------------------
    Traceback (most recent call last):
    File "", line 1, in
    NameError: name 'fromvba' is not defined
    -

  • @lastspring
    @lastspring Před rokem

    FYI, I could only get the xlWings section to work if Excel was actually running.
    It didn't have to be on the file being used (blank work sheet was OK).

  •  Před 2 lety

    Please launch this course, I will sign up your python course immediately.

  • @champak_chacha251
    @champak_chacha251 Před 8 měsíci

    How can I get first row number after applying filter in Excel sheet using xlwings?

  • @rajatdogra96
    @rajatdogra96 Před rokem

    If .main is changes with fun1 will it call def fun1 from python code ? 28:38

  • @juanpablohorn6642
    @juanpablohorn6642 Před 2 lety +1

    I have a question. I tried runnign the line import openpyxl, and an error popped up that says "Import "openpyxl" could not be resolved from sourcePylancereportMissingModuleSource"
    What can I do to solve this issue?
    EDIT: I could move one from this issue, but now i have another one. The problem comes when trying to run the xlwings code.
    here is my code:
    import xlwings as xw
    wk = xw.books.open(r'C:\Users\Juan Pablo Horn\Dropbox\Excel Macro Mastery\How to Replace VBA with Python(Step-By-Step Tutorial)\marks.xlsx')
    sheet = wk.sheets("Sheet1")
    rg = sheet.range("A1:C2")
    print(rg.value)
    The error says as follows:AttributeError: 'NoneType' object has no attribute 'books'.
    EDIT 2: I have solved the prior issue as well. Now the issue is when i try to run the VBA Macro to Run Python From VBA. This is what the error says:
    ---------------------------
    Error
    ---------------------------
    Traceback (most recent call last):
    File "", line 1, in
    File "C:\Users\Juan Pablo Horn\Dropbox\Excel Macro Mastery\How to Replace VBA with Python(Step-By-Step Tutorial)\PythonCalledFromVBA.py", line 5, in main
    wb=xw.Book.caller()
    File "C:\Users\Juan Pablo Horn\AppData\Local\Programs\Python\Python39\lib\site-packages\xlwings\main.py", line 763, in caller
    raise Exception('Book.caller() must not be called directly. Call through Excel or set a mock caller '
    Exception: Book.caller() must not be called directly. Call through Excel or set a mock caller first with Book.set_mock_caller().
    Press Ctrl+C to copy this message to the clipboard.
    ---------------------------
    OK
    ---------------------------

  • @SaulEduardoo2
    @SaulEduardoo2 Před 2 lety

    Hello Paul, just a minimal doubt, I have seen that the r and the f are constantly used as (r'somehting here") and (f'things here'), but, what are those stand for?

    • @StefanoVerugi
      @StefanoVerugi Před rokem

      r for instance allows you to avoid double backslashes in your path (at least in windows)
      f is to create a string with {data} inside, better than "this" + "+" + variable

  • @dannym.1602
    @dannym.1602 Před rokem

    @11:01 why does 'print(sheet["A10"].value)' print "Student 9" when it's actually in B10 in the workbook? Then @11:51 'sheet["b15"] = "Hello There"' add the statement directly to b15 in the workbook?

  • @tarunprakashsingh
    @tarunprakashsingh Před 2 lety

    How do i string or json from vba to Python for parsing and after parsing python will write the Parsed value to excel sheet. I believe parsing json is easy on python than vba.

  • @MichaelBrown-lw9kz
    @MichaelBrown-lw9kz Před 2 lety

    At 16:42, the first two rows do not print out. I am getting an Empty Data Frame message. Does anyone know how to deal with this issue?

  • @RaianTourada
    @RaianTourada Před rokem

    Hey Paul @Excelmacromastery ! I have a question and I will be grateful if you will answer :) I'm working with Excel but I don't know how to use VBA, I have some programming basics, but I can barely read VBA code intuitively (maybe 5% of some easy code), now I need to automatize excel files, something like: filter by column AJ values [90%:150%) and copy all the data to the new sheet .. and so on and so on. Also I'll need some UI with options and values input.. what is the best option for me - to start learning VBA or to start learning Python? Thank You in advance!

  • @sorledecoder7867
    @sorledecoder7867 Před 10 měsíci

    Sir I want to know if we must have Anaconda installed on our system before we can get python work this way?

  • @alphavolpe
    @alphavolpe Před 2 lety

    I try to download the source code from the description but I never got a link emailed to me, is the email link service down? I've tried for a couple of your videos but the download link is never sent.

  • @julianevans2256
    @julianevans2256 Před rokem

    Followed this tutorial fine testing code in Vscode up until using xlwings where I'm getting an error; Exception has occurred: XlwingsError x Couldn't find any active App! Am I missing something?

  • @LifetimeMomentsVideo
    @LifetimeMomentsVideo Před 2 lety +1

    I am having trouble understanding at the 11:00 minute mark. Shouldn't A10 retrieve '9' instead of 'student 9'?

  • @rgarciaf071
    @rgarciaf071 Před rokem

    Dumb question, what is the performance overhead of having this communication Excel -> VBA Python especially for large datasets and analysis? while it seems very neat, I wonder if this can scale easily also debugging could become significantly more difficult, but I have very little knowledge on VBA