Тёмный
Excel Macro Mastery
Excel Macro Mastery
Excel Macro Mastery
Подписаться
Welcome to my Excel VBA Channel. My name is Paul Kelly(Microsoft MVP) and I'm here to teach you how to write Excel VBA for the real world.

This channel will teach you proven techniques and little-known secrets about Excel VBA. These are techniques and secrets that I have used myself for over 20 years as a professional software developer.

In these videos, I break down complex Excel VBA topics in simple terms. I explain each part with code examples. Then I show you how to put it all together with real-world coding examples.

You can check out free articles on my Excel VBA website. This website receives well over one million visitors a year.
excelmacromastery.com/vba-articles/

I currently have the following training available:
☛ The Excel VBA Handbook course: theexcelvbahandbook.com/
☛ The Webinars Archives Membership: excelmacromastery.com/live-webinars/
How to Create a UserForm Like a Pro
20:03
3 месяца назад
How to Customize Controls in Excel VBA
18:23
5 месяцев назад
Can This Code Be Saved?  | VBA Code Audit
10:58
6 месяцев назад
How to Use Nested Dictionaries in VBA
8:58
7 месяцев назад
How I Made 2 VBA Applications Run Ultrafast
11:36
8 месяцев назад
VBA Unleashed: Send Customized Emails in One Line
11:10
11 месяцев назад
5 Amazing VBA Split Examples
4:25
Год назад
VBA Arrays Explained in 3 Minutes
3:44
2 года назад
Master VBA Debugging in 20 Minutes
22:08
2 года назад
Комментарии
@cesarbravo1035
@cesarbravo1035 4 часа назад
Very useful and interesting, thank you Paul
@edrobinson8248
@edrobinson8248 День назад
absolutely brilliant. note that we can use Clear All to remove formating rather than having to close the whole WorkBook? :-)
@justinwduff
@justinwduff 2 дня назад
Great tutorial! Wondering, is there a technical reason you use functions and arrays outside of the Userform to populate your combo boxes instead of Rowsource?
@CANDEEIRO
@CANDEEIRO 3 дня назад
well... you can use conditional formatting instead. It's so simple... :D
@connectorservice3767
@connectorservice3767 3 дня назад
Thanks for the code now it's up to me to learn and modify it for my need. Thanks again.
@DeVibe.
@DeVibe. 3 дня назад
CTRL+C, CTRL+V. Next!
@renemarot544
@renemarot544 7 дней назад
Thanks. Very didactic. Nerver thinked about using find this way. One cave at with find is hidden rows and hidden columns. If you have some of them find just seems to ignore them.
@JeffreyMorales-sf6hi
@JeffreyMorales-sf6hi 7 дней назад
How to add additional workbook?
@dewanshiramani1128
@dewanshiramani1128 8 дней назад
How to use xlwings in wsl system please give me a source code and instructions step by step , xlwings documentation in write xlwings server using Linux, wsl and Docker but not show how to use
@gokhankarabulut2304
@gokhankarabulut2304 9 дней назад
Source code link doesn't work.
@dazedsong
@dazedsong 9 дней назад
I struggled a bit to get this to work on an existing project, but I did it at the end! thank you so much, the work that you do is amazing
@johngroover4781
@johngroover4781 14 дней назад
Dude - I've been writing VBA (mostly Access VBA) for years. Your videos have been an eye opener for me. I've basically went back and changed all of my "macros" and added your suggestions. My Excel macros now run much faster thanks to your suggestions. I'll make sure to watch your videos as much as I can. Again, THANKS!
@Excelmacromastery
@Excelmacromastery 9 дней назад
You're welcome John
@RobertWoodman
@RobertWoodman 16 дней назад
That was quite impressive, Paul. I use your RU-vid site often for ideas, tips, and tricks.
@ganlyb
@ganlyb 16 дней назад
My COBOL teacher hammered it into me to declare variables at the top. Possibly due to the nature of the declaration section
@neerajkatoch6724
@neerajkatoch6724 16 дней назад
If data needs to be copied from a sheet which have blank cells due to which current region didn't work there. How we do that
@saketmishra1470
@saketmishra1470 17 дней назад
Paul, please help me to make my code as faster you have shown here
@Ron-el6zh
@Ron-el6zh 19 дней назад
Please ignore my request for help, I worked out the issue, I used the wrong sheet name.
@wess7698
@wess7698 22 дня назад
Did someone pour hotwater on your balls, It does not hurt to speak slowly and clearly!
@tomharrington1453
@tomharrington1453 23 дня назад
Great video. I am going to have to watch this at least one more time. There is a lot of information in this video.
@cleverr7
@cleverr7 23 дня назад
I don’t understand for what create clsAccount? Just for information? Programming on vba for 4 years Your video very useful for me! Thank you Paul
@nguyenvuphuong2048
@nguyenvuphuong2048 24 дня назад
Thanks so much. You are the best! I applied classes in my work.
@takahirom8023
@takahirom8023 25 дней назад
ありがとうございます。VBA初学者としてとても勉強になりました
@sasifexcelsolutions4509
@sasifexcelsolutions4509 25 дней назад
Hi, thanks for this, question, how would I force only xlsb when the user want to save as a file, I want the dialog picker or with 365 only show xlsb to show, this was possible before 365 but don't know how to do it in 365
@JohnFrederickson-zl9ui
@JohnFrederickson-zl9ui 27 дней назад
I followed the ReadFromAPI() macro. I have the required tools. Nevertheless when I clicked on Debug the first time, after (minute 9:02) I already had the scripting runtime checked but got an error anyway. However, I went ahead and added the Jsononverter.ParseJson(request.Response.Text), I did not get a run time error. I then entered the remained of the code and clicked on debug. I got the error Run-time error 424 Object required. The debugger stopped on the Set countries = response("Country"). I can't determine the cause of this error. Can you help?
@janezklun
@janezklun 27 дней назад
Thank you Paula for such useful videos, yes more
@stephenhammond1745
@stephenhammond1745 29 дней назад
I finally get it. The other examples I've seen of this were only storing 1 data item per row in the collection (e.g. Name) so it wasn't clear why using a class was a benefit. Now that I see you can store multiple data items it makes sense. I guess if you were working with multiple classes you could store that as dimensions in an array?
@andrewdove2303
@andrewdove2303 29 дней назад
One of my bugbears in life is processes that still involve the extraction of data from one system via pdf that some poor soul has to get into another system - amazing that this still happens in 2024! I have a specific use case where I used to use Able2extract to convert pdf to excel for monthly accounts. However, there was still a fair amount of manual processing to fix. Then my computer dies and I switch to an ARM based surface pro that cannot run Able2extract. So I find that Adobe has a reasonably priced pdf to excel that actually works better in that it maintains row integrity. Over to ChatGPT. I used a different process which was less structured. Rather than plan my code out in detail I was a bit lazy and had ChatGPT build it up step by step. In each iterations I found problems to do with either my specs or ChatGPT, but I just fed back the issues to chatGPT (eg. line of code causing error) and ChatGPT pu,mped out revised code. I think I halved my coding time and ended up with a very fast sub using arrays. Error resolution was far faster with ChatGPT. However, I did not add proper error trapping so the code probably does not meet commercial standards. ChatGPT is a far faster alternative than googling. I also like that ChatGPT forced me to define my problem unambiguously. Overall, I am astounded at what ChatGPT can do and I do think it is going to change the world of coding. I think productivity will increase dramatically in the coding business.
@vinodalapati351
@vinodalapati351 Месяц назад
Thank you. This video helped me to solve my issue.
@donbogdala5428
@donbogdala5428 Месяц назад
Awesome work!
@Djblois1
@Djblois1 Месяц назад
Have you had a chance to test the newest update to see if it is has solves these issues?
@vanvo7888
@vanvo7888 Месяц назад
Dear Excelmacromastery, I'm a big fan of your channel and have learned a lot from your videos. I'm currently working on a project that involves creating a user form in Excel, and I'm facing a challenge. I'd like to add maximize and minimize buttons to the user form, but I'm unsure how to implement this functionality. Would you be able to offer any guidance or point me towards relevant resources? Thank you for your time and continued support!
@shaojiakok8734
@shaojiakok8734 Месяц назад
Hello, thank you for this helpful video. But I have a question based on your example. What if I Need the data for those who has quantity more than 2 but less than 8? How can I set the criteria?
Месяц назад
Using the Let and Get methods for Userform properties is a game changer, thanks for sharing this tutorial
Месяц назад
thank you, i found this video very useful, now i feel the urge to learn how to write elegant code
@Powner187
@Powner187 Месяц назад
Hi! Error 50290 worked around? I can recreate the error by opening a drop down list and while it is open, click on a macro that takes me to a different sheet like shData.Select shData.Range("A1").Select Works unless dropdown list in cell is open. 50290 Error occurs. Any workarounds?
@Powner187
@Powner187 Месяц назад
To make shape macro not bug out when drop down list is open, I effectively coded my own double-click for macro shapes in vba. Never found a single video to do so. Static, if Long = 1 then subtract 1, Mytime = hour(time) * 60 + minute(time) * 60 + second(time) exit sub elseif long = 0 then add1, mytime2 = same formula as mytime, Timediff = mytime2 -mytime end if If my time greater than 1 then exit sub Elseif timediff less or = To 1 then Call sub end if. That's my solution.
@daves4026
@daves4026 Месяц назад
Bravo
@peterbaker4650
@peterbaker4650 Месяц назад
You refer to a class module for the dictionary for macbooks can you please advise where I can get a copy
@peterbaker4650
@peterbaker4650 Месяц назад
Love the video however i will often need to check value data in more than one column and return it is this possible using a dictionary
@rajuhubli2
@rajuhubli2 Месяц назад
Great video sir
@Excelmacromastery
@Excelmacromastery Месяц назад
Thanks
@tamerhegab1513
@tamerhegab1513 Месяц назад
cool
@eshaich
@eshaich Месяц назад
Pro as usual. btw I believe you can do it even faster with the "evaluate" VBA function. no loops and it does the calculation for all the range ows at once.
@kofigyebiadusei2205
@kofigyebiadusei2205 Месяц назад
When will make an introductory video for us who are beginners. Thank you
@Excelmacromastery
@Excelmacromastery Месяц назад
Good suggestion.
@stick80
@stick80 Месяц назад
You have some great video's. If I can give you a little constructive criticism, you should pan out and pause for a few seconds before switching windows (So we can see all of the code). I'm trying to follow along and write the code along with the video. I will be writing out a line and all of a sudden you switch screens. I have to back the video up or catch the code the next time you switch back to that screen. I am a beginner and I'm not as fast as you. Keep the videos coming.
@JKittles
@JKittles Месяц назад
Just finding this video trying to figure out VBA. Can this be used to "Cut" data into another worksheet instead of "Copy" the data? Thanks.
@sriranga188
@sriranga188 Месяц назад
Yes we need more videos
@Excelmacromastery
@Excelmacromastery Месяц назад
Thanks
@egozMaster
@egozMaster Месяц назад
you should remove the With statement as well
@Simplifiedsurveying
@Simplifiedsurveying Месяц назад
How do you then access the properties of another For example of I wanted the user to type in textbox2 and the value appears in textbox1. I want to use similar experience, I created buttons when a user hovers over it, it changed color and when exits it goes back to the original color, I wrapped a textbo around the button to capture mouse movement when the user exits the button but this textbox can't change the properties of the button when in class module