Тёмный

10 Years of VBA Array Knowledge in 40 Mins 

Подписаться
Просмотров 20 тыс.
% 763

👉 Ready to Master VBA?
- Check out my course: bit.ly/3XTnIm8
- Subscribe to the channel here: bit.ly/36hpTCY
- Want to download the source code for this video? Go here: shorturl.at/nMnc6
(Note: If the download page doesn't work then make sure to turn off any popup blockers)
"10 Years of VBA Array Knowledge in 40 Mins"
Arrays are possibly the most important element of Excel VBA.
Not only do arrays make your code more readable, they also allow you to process data thousands of times faster than using Ranges. If you haven't used arrays before then you may be intimidated by them. But don't worry - In this video, I will distil years of VBA knowledge and experience into a set of simple steps that anyone can follow.
💻🔧 #VBAArray #VBAArrays #ExcelVBAArrays
Useful VBA Shortcut Keys
========================
Debugging:
Compile the code: Alt + D + L OR Alt + D + Enter
Run the code from the current sub: F5
Step into the code line by line: F8
Add a breakpoint to pause the code: F9 or click left margin
Windows:
View the Immediate Window: Ctrl + G
View the Watch Window: Alt + V + H
View the Properties Window: F4
Switch between Excel and the VBA Editor: Alt + F11
View the Project Explorer Window: Ctrl + R
Writing Code:
Search keyword under cursor: Ctrl + F3
Search the word last searched for: F3
Autocomplete word: Ctrl + Space
Get the definition of the item under the cursor: Shift + F2
Go to the last cursor position: Ctrl + Shift + F2
Get the current region on a worksheet: Ctrl + Shift + 8 or Ctrl + *
To move lines of code to the right(Indent): Tab
To move lines of code to the left(Outdent): Shift + Tab
Delete a Line: Ctrl + Y (note: this clears the clipboard)
Table of Contents:
00:00 - Introduction
00:22 - Why You Need Arrays
10:17 - How to Replace Ranges with Arrays
21:19 - Using Arrays in a real-world example
27:18 - Important - Avoid this major pitfall
31:59 - The code structure for all data manipulation
40:04 - How to easily sort any Array with this new method

Наука

Опубликовано:

 

25 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 93   
@Excelmacromastery
@Excelmacromastery 3 месяца назад
Learn how to write real-world Excel VBA code: 👉courses.excelmacromastery.com/ Let me know in the comments if you like this longer video format😀
@mariustapculescu1061
@mariustapculescu1061 3 месяца назад
Yes is beautifull ,easy to follow you and learn a lot!
@sevencrickets9258
@sevencrickets9258 3 месяца назад
I have been utilizing your resources for 5+ years. I'm a stress engineer, so sifting through tons of raw data and outputting something useful with little individual input is the name of the game. Your stuff has been without question my favorite resource. Clear. Concise. Exactly what is needed.
@Excelmacromastery
@Excelmacromastery 3 месяца назад
Glad you like it so much😀
@TheSupercanard1976
@TheSupercanard1976 3 месяца назад
Really Good. Starting from what an average skilled VBA user would try, highlight the pitfalls and errors, then going to the right solution and finishing with the neat ultimate optimized professional way to do it. Great. Thank you Paul.
@SolutionsByPVV
@SolutionsByPVV 3 месяца назад
Paul, your tutorials are fundamental. Yes, I like them.
@Excelmacromastery
@Excelmacromastery 3 месяца назад
Thanks
@VBA-w7q
@VBA-w7q 3 месяца назад
Excellent, as always! Best cristal clear VBA tutorials ever! I've learned a lot form you! Thank you for that! Please, share us more of your knowledge! AI can automate tasks, but human makes them personalized. So, for Excel dependent jobs, VBA can help a lot if deeply understood and learned.
@Excelmacromastery
@Excelmacromastery 3 месяца назад
Thank you
@rnunez047
@rnunez047 24 дня назад
I'll be wanting for the tutorial. Even I don't speak English 🫣. But I speak Vba. Tks so much. It looks great
@hammeedabdo.82
@hammeedabdo.82 3 месяца назад
thanks Mr. Pau. Please, we need more videos with projects about real-time application in excel through websockt.
@nathanbowers1761
@nathanbowers1761 3 месяца назад
Hi Paul, I appreciated that longer video format. It helped me locate where I'm at in my Excel VBA Array journey, and the clear explanations helped me to move to the next level. Nice tutorial; I'm a fan of your work!
@Excelmacromastery
@Excelmacromastery 3 месяца назад
Great to hear Nathan!
@danielmelo389
@danielmelo389 3 месяца назад
Nice video, I'm working more with VBA nowadays and the knowledge I got from you helped me a lot, though I haven't adapted to not bubble up my variable declarations yet 😅
@Excelmacromastery
@Excelmacromastery 3 месяца назад
Thanks Daniel
@Darshanam-Jatra
@Darshanam-Jatra 3 месяца назад
Thanks Mr. Paul Great way to master , step by step - so basic fundamentals are very clear as we move forward with clutter free powerful codes - Your Mastery, always shared brilliantly to make us Masters as well ! Thanks a Lot for sharing your treasure 🙏
@Excelmacromastery
@Excelmacromastery 3 месяца назад
Glad it was helpful!
@muhammadkausar2842
@muhammadkausar2842 3 месяца назад
Hi Paul, you are amazing, i also download your ClsArray2D class module, and take so much benefits, thank you, now am also able to make my own function for arrays current region, or clear existing data,,. I also download this one , thank you so much for your free help😊
@vbaclasses3553
@vbaclasses3553 3 месяца назад
Amazing video as always Paul. The longer format is quite good as well. Thanks.
@Excelmacromastery
@Excelmacromastery 3 месяца назад
Thanks
@kcerny43
@kcerny43 3 месяца назад
It's a pure pleasure to work with your tutorials.
@Excelmacromastery
@Excelmacromastery 3 месяца назад
Thanks
@MiguelSeijas-f6z
@MiguelSeijas-f6z Месяц назад
This is, without a doubt, awesome!
@sedataksakal414
@sedataksakal414 3 месяца назад
You are amazing. Thank you. Greetings from Turkey.
@Excelmacromastery
@Excelmacromastery 3 месяца назад
Thanks
@billroberts2808
@billroberts2808 3 месяца назад
Thanks Paul - as always your videos contain very useful information. I like the longer content video above. It provides a more 'start to finish' approach to code logic. Best regards, Bill
@Excelmacromastery
@Excelmacromastery 3 месяца назад
Thanks Bill
@dangreen2501
@dangreen2501 3 месяца назад
I like anything you do!
@Excelmacromastery
@Excelmacromastery 3 месяца назад
Thanks 😊
@nadermounir8228
@nadermounir8228 3 месяца назад
Thank you paul for this nice video. I am already taken your VBA effective course
@Excelmacromastery
@Excelmacromastery 3 месяца назад
You're welcome
@JOSELUISTORREZRIOS
@JOSELUISTORREZRIOS 3 месяца назад
Excelente tutorial paso a paso y muy útil, muchas gracias
@121960864
@121960864 3 месяца назад
Thank you very much! It helps me so much!😀
@Excelmacromastery
@Excelmacromastery 3 месяца назад
You're welcome
@alterchannel2501
@alterchannel2501 3 месяца назад
i adore these types of videos
@Excelmacromastery
@Excelmacromastery 3 месяца назад
Glad you like them
@emililie2244
@emililie2244 3 месяца назад
Thank you. I learned a lot.
@_-wv4ez
@_-wv4ez Месяц назад
Дякую за урок.
@stevetatterton
@stevetatterton 3 месяца назад
I would suggest the GetCurrentRegion function should call another function to remove heading lines but setting the current region property outside of calling that function. Then the inner function can be used to remove headings from any region even if current region isn't to be applied.
@peterwooldridge7285
@peterwooldridge7285 2 месяца назад
Just the best!!!
@simioneitor1975
@simioneitor1975 3 месяца назад
Amazing! Thank you!
@Excelmacromastery
@Excelmacromastery 3 месяца назад
You're welcome.
@m_marcamo
@m_marcamo 3 месяца назад
Thanks for your knowling
@Excelmacromastery
@Excelmacromastery 3 месяца назад
You're welcome
@alializadeh8195
@alializadeh8195 3 месяца назад
Thanx
@Excelmacromastery
@Excelmacromastery 3 месяца назад
Welcome
@alexandrumarcel3696
@alexandrumarcel3696 3 месяца назад
one issue I was facing when working with copying arrays is that if you have a column (or more) that is containing string values that starts with "0", the destination range needs to be formatted as text (.numberformat = "@"), otherwise the leading 0s will be truncated.
@johnbutler2750
@johnbutler2750 3 месяца назад
If your numbers are of fixed length you can always just add zeros to the front and take the right of the required length, then number value of that Always a pain on bank details and phone numbers Tho it’s more annoying working with sort codes as some of the time it converts 6 digits separated by hyphens to dates
@alexandrumarcel3696
@alexandrumarcel3696 3 месяца назад
@@johnbutler2750 your solution for a simple copy paste will add a lot of extra effort to implement, especially if you have more columns that are not always being pasted into the same cells
@johnbutler2750
@johnbutler2750 3 месяца назад
@@alexandrumarcel3696 meant it as a more general solution, either use a custom function to apply it when called in a larger macro, or as a nested formula to apply to an entire column then copy-paste as values (depending on how often it’s used)
@kofigyebiadusei2205
@kofigyebiadusei2205 3 месяца назад
Hello Paul. I'm Kofi from Ghana. Please when will you make a VBA introductory video. It will be very much appreciated. Thank you
@iincitr
@iincitr 3 месяца назад
Thank you again clean and valuable info. Any plan to video about Excel with Typescript or any other modern code?
@Excelmacromastery
@Excelmacromastery 3 месяца назад
I have videos on office scripts and Python on this channel.
@haidereasa
@haidereasa 2 месяца назад
amazing !
@muhammadkausar2842
@muhammadkausar2842 3 месяца назад
Really amazing work, yes we like it. I watched it 2 times 😂
@Excelmacromastery
@Excelmacromastery 3 месяца назад
You're very welcome
@urielramirez27
@urielramirez27 3 месяца назад
Simply masterful! Do you have any courses or classes in recursive functions?
@Excelmacromastery
@Excelmacromastery 3 месяца назад
Thanks. I haven't covered recursion.
@urielramirez27
@urielramirez27 3 месяца назад
@@Excelmacromastery if you need an example idea for the course I have 2: getting the names of files in folders that have subfolders and getting the charges on a credit card charges history that sum up to the credit card current balance
@schymi841
@schymi841 3 месяца назад
Nice video but I have a feeling that you've covered this topic multiple times already in previous videos. As a long time fan of your content I consider myselft a master on arrays at this point :) I'd prefer more videos on Classes with some real world examples....
@Excelmacromastery
@Excelmacromastery 3 месяца назад
Thanks. I have covered a lot of this before. However, this video shows a step by step logic from beginning to end.
@СергейШлизенбарт
@СергейШлизенбарт Месяц назад
Hi, Paul. Great tutorial as always. However i ve encountered with difficulties when sorting an array at the very last step. I fail to sort it with one line worksheetfunction approach (No method is found).Other youtube tutorials also provide some longer solution on array sorting. Is there any trick that i ve missed?
@omaraissa318
@omaraissa318 3 месяца назад
i didn't watch the video but i have a trick about array i don't know if you are aware of. its how to redim preserve an array's first dimension, we know that we can only redim the second dimenssion , so the trick is to fill your Array in reverse order what in first dimension go into the second and what in the second go into first dimension, so then you redim preserve the second dimension after that you transpost the array into a variant using worksheetfunction.transpose to get your initial copied range.
@Excelmacromastery
@Excelmacromastery 3 месяца назад
The problem is that Transpose has a limit of 64000 rows for arrays.
@omaraissa318
@omaraissa318 3 месяца назад
@@Excelmacromastery thank you i learned something
@muhammadkausar2842
@muhammadkausar2842 3 месяца назад
​@@omaraissa318I have also the same problem, I use meta AI, but AI say, Copy this Array to new blank array and then resize it 😂 Thank u But still I am not completely understand of your comment I will screenshot it 😊
@daveyks1
@daveyks1 3 месяца назад
Love this video! Do you program in Access VBA? Please would you do one for Access if you do? Thanks!
@Excelmacromastery
@Excelmacromastery 3 месяца назад
Glad you like it. I haven't used Access in a long time .
@Zboob999
@Zboob999 3 месяца назад
Nice. What about Typescript for Excel ?
@Excelmacromastery
@Excelmacromastery 3 месяца назад
I have some videos on Office Scripts which using the TypeScript language for Excel.
@dheerajjain5754
@dheerajjain5754 3 месяца назад
Can we use arrays to copy all file names from a folder and paste it in an excel range? I am currently using "Copy Path" menu item to copy all file names which are there in a folder and pasting them in excel because it is simpler and time saving than running a macro which reads each file one by one and copies its name.
@patrickpointer8380
@patrickpointer8380 Месяц назад
Hi Paul, Excellent video! I cant seem to get LastRow to work. I get an error Run time error1004. all the sheet names are correct Any ideas?
@trevormckerrow1460
@trevormckerrow1460 3 месяца назад
As always your tutorial was very informative. One issue; I get a runtime error when calling the worksheet sort function. This function seems to be unavailable in my workbook. Do you know why?
@Excelmacromastery
@Excelmacromastery 3 месяца назад
It's only available for Excel 2021 and 365
@Art8157
@Art8157 3 месяца назад
Paul, thanks for nice and detail comments. I have one question, why when I use "marks = shMarks.range("A1").Value" I receive error 424 (Object required). And it works when I write "marks = Sheets("shMarks").range("A1").Value".
@Excelmacromastery
@Excelmacromastery 3 месяца назад
shMarks should be the code name of the worksheet
@Dexter101x
@Dexter101x 3 месяца назад
I don't mind the longer format, but would like shorter ones as well Is there something wrong with using xlDown as oppose to xlUp?
@Excelmacromastery
@Excelmacromastery 3 месяца назад
It will stop at a blank row if searching from the top.
@YvesMédardNGWAT
@YvesMédardNGWAT 3 месяца назад
Hi Mr KELLY. Hope you're fine. I guess you've heard about Office script. My concern is to know if VBA is will still be used in the 5 or 10 next years?!!! Is Office Script is replacement!! I've got those worries since I read somewhere that Microsoft will definetively discard VBScript from Windows 11. Do you have clear and trustfull informations about that topic?
@Excelmacromastery
@Excelmacromastery 3 месяца назад
Office scripts is not a replacement for VBA. The VBScript update, as it stands now, will only affect regular expressions in VBA.
@ManojYadav-nt2rm
@ManojYadav-nt2rm 2 месяца назад
how much time it will take if the data is 10k plus?
@JAY_DJ
@JAY_DJ 3 месяца назад
Thanks for sharing valuable information. I am already using array but it is still taking time to process big datasets. I have checked the number of iterations is more than 30+ million. Please can you tell me is there any way through which I can use GPU or multi-thread? I have done a lot of research regarding this and someone told me to use opencl but unable to find the library. I have tried to find some third-party tools also for parallel processing but I haven't found any tool yet. Please can you help me that would be great.
@suvadipkundu152
@suvadipkundu152 3 месяца назад
Hi, would you like to elaborate on the problem statement a bit.. for example, would 30 million iterations mean that you are accessing data from multiple spreadsheets? What type of validations/logic are you processing? Can you employ 'divide and conquer' approach? Finally, have you looked at using Excel's ETL backbone, power query as a solution? I do not know the performance criteria you have so if you can throw some more light on the same that will help .. Cheers, Suvadip
@johnbutler2750
@johnbutler2750 3 месяца назад
I don’t think vba is the best tool for massive datasets. From my experience once you’ve done the usual disabling calculations, events and screen updating and are doing most of the work in arrays thats about as fast as you’ll get (advanced filter can be faster for large filtering operations). I believe vba is single threaded (worksheet formulas can use more) this can make large parallel operations slow I also doubt it takes advantage of the gpu much if at all. I think python may the better tool to use for large data analysis
@daneasch9703
@daneasch9703 2 месяца назад
Hi Paul, Realy enjoyed the webinar, Thanks. I did run in a problem with the code, trying to filter I get the eror " unable to get the sort property of the worksheetfunction class" on line "outputArray = WorksheetFunction.Sort(outputArray, 4, -1)" . any ideas?
@Excelmacromastery
@Excelmacromastery 2 месяца назад
You need Excel 2019 or later to use the sort function.
@daneasch9703
@daneasch9703 2 месяца назад
@@Excelmacromastery Thanks Paul, that explains it. Nice webinar, again. Like the lenght.
@7Denial7
@7Denial7 2 месяца назад
I feel so alone and unworthy, because I know VBA like a pro, but no one needs VBA anymore... It makes me depressed...
@home8771
@home8771 3 месяца назад
does anyone know how to do "make a multiple line as comment" shortcut like the one in 14:35?
@Excelmacromastery
@Excelmacromastery 3 месяца назад
See the second answer here: shorturl.at/HaQN1
@Fredick.7
@Fredick.7 3 месяца назад
🙂_______👍💯 .
@Excelmacromastery
@Excelmacromastery 3 месяца назад
Thanks