VBA Advanced Filter - The FASTEST way to Copy and Filter Data
Ғылым және технология
The Advanced Filter is the fastest way to copy and filter data in Excel VBA.
And that's not all...
It requires less code that any other method.
It requires no extra code to select or sort columns - all the other methods require a lot of extra code to do this.
It automatically formats the destination cells to match the source. If you use other methods then you need to create extra code to do this.
In this video this video I am going to show you how to use the VBA Advanced filter.
Then I am going to show you the VBA code that you need to use the Advanced Filter.
Finally I am going to show you how to connect the Advanced Filter to a worksheet event so your users(or you!) can automatically use the filter.
Related links:
Excel VBA Copy - The Complete Guide to Copying Data: (excelmacromastery.com/excel-v...)
The Excel VBA Handbook Course(TheExcelVBAHandbook.com)
Webinar Archives - 60+ Hours of VBA training(excelmacromastery.com/excel-v...)
Shortcut Keys:
Alt + F11: Switch between Excel and the VBA Editor.
Ctrl + R: View the Project Properties Window.
Ctrl + Shift + 8(or Ctrl + *): Get the current region on a worksheet.
F5: Run the code from the current sub.
F9(or click left margin): Add a breakpoint to pause the code.
Tab: To move lines of code to the right(Indent)
Shift + Tab: To move lines of code to the left(Outdent).
Table of Contents:
00:00 - How advanced filter works
00:03 - Why use the Advanced Filter
02:59 - The VBA Code
11:37 - Using the worksheet event to filter
Пікірлер: 385
I don't know what I'd do without you Paul. You seem to have the best solution for everything I ever look for. I'll probably search your channel when I want to know the next winning lottery tickets. This videos are so valuable. Thank you!
This makes coding so simple, easy to read and makes the size of the files smaller. awesome. keep up the good work.
Fantastic tip....I have been struggling a little to speed up a long macro. I used this principle to shave off about 5 minutes of vba run time. Thank you for your time and effort in making these videos.
@Excelmacromastery
4 жыл бұрын
That's great to hear Donald. Advanced Filter is a well-kept secret which I'm hoping to change.
This advance filter reminds me of Lotus 1-2-3 from back in the '80s. I remember having to create the criteria and output range to filter data in Lotus 1-2-3 and it filtered really fast. But Excel's ALT D F F short cut combination for filters, not having to create the criteria or output range and pivot tables were a lot more intuitive. Thank you for sharing your knowledge!
Thank you so much for this step by step tutorial. It was very easy to follow through and apply it to my own data. I have never used advanced filter before in my life but now I'm a believer. Subscribed!
Really love that you also explain other function that doesn't directly relate to advancedfilter. It help very much for beginner like me to understand the video. Looking forward if you have any video to explain on event function. lol
This is the best advanced filter tutorial I have seen in years. Excellent Presentation.
@Excelmacromastery
4 жыл бұрын
Thanks Daniel. It's great to hear such a positive response.
This is super fantastic. I always used ADO but this is a ton simpler. There were also formatting problems with ADO that this method doesn't have. Thanks so much!
You are a good teacher. I like how you explain things step by step instead of the whole thing at once. Your way allows me to find my error when I do something wrong.
@Excelmacromastery
3 жыл бұрын
Thanks Linda.
There is always at least one thing I didn't know in each of your videos! Thanks again Paul, for sharing your knowledge
@Excelmacromastery
4 жыл бұрын
That's great to hear. I always like to come up with little-known but very effective techniques.
Brilliant! I love the appropriate level of detail. It makes your videos so useful. FYI, for anyone that needs it. A relative date can be used in your criteria like this: =">" & TEXT(TODAY()-10,"mm/dd/yyyy")
@Excelmacromastery
4 жыл бұрын
Thanks Greg. That's a very useful tip.
Okay MINDBLOWN!!!! I've been searching for a way to do this all day and this has literally smashed it! Definitely subbing to this channel! thank you!
Thank you for sharing this and explaining in a straight forward way. I am no VBA master but using this has allowed me to help someone with a document that took them ~8 hrs to produce manually and now takes ~10 seconds (VBA benchmarked)
@Excelmacromastery
4 жыл бұрын
That's awesome to hear.
Thank you for your clean explanation of the subjects.
I feel the urgent need to thank you once again so much for this truly nice tutorial. I followed all the steps on my PC and I am very astonished how great this code is. Really thank you Paul.. You are excellent. Thank you.. 🌟
@Excelmacromastery
4 жыл бұрын
Thanks Salim, That is great praise to hear.
@thegrumpyhippy
4 жыл бұрын
Ditto, came here to say the same thing... I’m new to VBA on KZread having worked my way through a physical book first. I found your information was distinct, the descriptions clear and presentation was both well paced and good vocal tone. This was perfect to follow and learn from. Thank you very much.
Very clear and concise tutorial video. I can see that your channel is rocking and rolling already and long may it continue! Thanks for putting the content out... You're fast becoming an Irish Randy Austin on KZread (and I believe that's a huge compliment).
@Excelmacromastery
4 жыл бұрын
Thanks very much Ben. I know of Randy Austin - he has built a very big community.
Hi Paul! Just watching a half of this video but it is really awesome one. Never knew that advanced filter was so useful. 👍🏾
@Excelmacromastery
4 жыл бұрын
Thanks. Enjoy watching till the last minutes.
Great stuff ! Never new you can reduce number of returned columns to required ones although been using Excel/VBA for years.
Wonderful Tip! Well explained, as always @Excel Macro Mastery. I would also recommend a spirit of inquisitive exploration when practicing these methods. I found the next video and its discussions about how to implement AND and OR operators with the advanced filter to be especially useful; I used both explanations to streamline a worksheet that needs to filter the data range based on days of the month. A little more explanation of how the advanced filter implements criteria would have been useful, but it wasn't anything that some playful experimentation couldn't solve.
Amazing THANK YOU Marco!!!! Trust me you made my day by this video
Delighted to see someone else who has seen the light with the Advanced Filter. I usually joke with people that since most people don't know about it, it must be a new feature. That it was in the first version of Lotus 1-2-3 perhaps explains some of the arcane rules for setting things up. One super easy application is not just to copy data, but to rearrange the order of the columns (a task that people often struggle with). Using the extract range with the new order of all or a subset of the columns is the fastest way to copy AND rearrange.
@Excelmacromastery
4 жыл бұрын
I didn't realise it was around so long! Thanks for the info. Selecting columns or rearranging them is one of it's biggest strengths. Because using other methods requires a lot of extra code to do this.
Very good video! I learned a lot from it and the explanation is very clear and easy to follow. Amazing channel as well. Thank you for taking the time to show us.
You are my goto guy for anything excel. I admire your consistent quality content 🙏
@Excelmacromastery
4 жыл бұрын
Thanks Prabhat. I appreciate the compliment.
whether you are pro or intermediate VBA user, you will always find new and efficient ways of writing code. Thanks for your content and wonderful presentation skills.
@Excelmacromastery
4 жыл бұрын
You are welcome!
Excellent stuff. Need more of these kind of tutorial.
All your videos are simply awesome! I wish I had seen them before, I would have saved hours of head scratching code! Thanks
@Excelmacromastery
4 жыл бұрын
Thanks Denis! That is high praise indeed.
Can't thank you enough for these videos. Wish I discovered your channel earlier!
Hi Paul.. this video is really excellent. I've made up my own data set to follow along and reinforce the concepts and code. Thanks for this super tip and technique. Really enjoying your KZread channel.. I think it is one of the best resources out there for learning and expanding VBA knowledge. Thanks for kindly sharing your skills.. much appreciated. Thumbs up!!
@Excelmacromastery
4 жыл бұрын
Thanks very much Wayne. Plenty more videos on the way.
Thank you, the presentation was excellent and easy to understand. When ran the code it worked beautifully, however the filtering also remove duplicate records.
excelentt video I have used a lot advanced filters in my reports but you gave me a new way of do it... thanks!!!
Thank you very much for sharing. great tutorial!!!
Just so great .. (Applause) This was just it what i was looking for. Thak you so much for the effort and everything.
This video has some very useful information that might help me improve an existing macro. Thank you!
I had a project years ago that did filtering on over 23,000 items and then sent out an email to various users with different error codes. At the time, it checked against 3 conditions and still took over 40 minutes to process. I rewrote the code using advanced filters and dropped the total tune to under 5 minutes. They didn't know how many conditions would be checked when they were finished so I added a feature to allow them to define a many as they wanted without requiring another rework of the code. At last count they were up to 38 conditions being checked with no significant overhead in time requirements. I've been a fan of advanced filters ever since. Great info here.
@Excelmacromastery
2 жыл бұрын
Thanks for feedback. It's great hearing about a successful real world project.
Thank you for sharing this course.
Excellent and Helpful Presentation. Appreciate your help.
This is very useful, Paul. Hope to see you more often.
@Excelmacromastery
4 жыл бұрын
You will Sandeep. Plenty more videos on the way.
This video is outstanding! It was so helpful.
Thank you so much sir for your unwavering support and keeping us abreast in VBA programming. Full support to your channel.
Excellence!!! Thank you for sharing this!
Excellent. I have to learn from basic. Please guide me. Your way of explaining is really superb. Hats off to your god's gift talent.
I searched high and low to find advice on how to quickly copy data between two tables ... and found nothing. Here's the answer and brilliantly illustrated. Thank you Paul. I've been coding in VBA on Access for years and thought Excel was just rubbish at handling large volumes of data.
@Excelmacromastery
4 жыл бұрын
Glad you found it useful Simon.
Thank you Paul, this is brilliant! you have an extraordinary way to explain things! I am buying your course on Udemy. I wish I met you years ago!
Awesome! Thank you very much for this video!
Another one that puts me out of my misery with expert users! I just forward the link to this video! Edit: Excellent content I wanted to add!
@Excelmacromastery
4 жыл бұрын
Thanks archibald
You are the men! Thanks from Brazil!
@Excelmacromastery
3 жыл бұрын
Thanks Marcos
Great job Paul. Love this stuff.
@Excelmacromastery
4 жыл бұрын
Good to hear. Plenty more on the way.
I admire your videos Paul. You are amazing. 🌟 🌟 🌟 Thanks indeed for sharing. Excellent... Great.. 🌟
@Excelmacromastery
4 жыл бұрын
You're welcome Salim.
Thanks a lot Paul. This video (like all your videos) is really excellent
@Excelmacromastery
4 жыл бұрын
Thanks a lot.
Excellent video 👍 Thank you so much you r real hero for us Love from India ❤️
Thanks for sharing your knowledge, really advanced
This is mind blowing and exactly what I've been looking for, for ages now! Thanks so much! I plan to integrate this code with a loop that goes through all the individual values of the criteria and repeats this process for each filtered list. And then it outputs the results into a sheet named by an string in a cell offset from the criteria and exports that sheet into a new book (also named by that value). I have code similar to this except it's all manual and unreadable, but I've been looking for a way to do this as a filter method for months! THANKS SO MUCH! Earned that sub.
@ignatiusmusonda6658
2 жыл бұрын
@ Alan Frančišković this sounds like what i need; have you made progress on this?
@Lykoskia
2 жыл бұрын
@@ignatiusmusonda6658 unfortunately no, i havent really touched it since i couldnt find the time and i do these things rarely (but am passionate about them nonetheless). You might be the motivation i need to finish it, might try in spare time since i no longer have free time at work for this. Will let you know!
@Lykoskia
2 жыл бұрын
@@ignatiusmusonda6658 I finished it :) I think it would be messy to post it here, find me on FB or TG and I'll send you the code. It has a few magic numbers/things you need to tweak for your own purposes, but other than that it works, just tested it in the office a few hours ago.
@ignatiusmusonda6658
2 жыл бұрын
@@Lykoskia Great i just sent you a request on fb.
Thank you Paul for this amazing code.
@Excelmacromastery
4 жыл бұрын
You're welcome Edmundo.
Great video, Paul and instructive.
@Excelmacromastery
4 жыл бұрын
Thanks for the feedback John.
Damn... I'm amazed did it at work for filtering big files and it's getting my work done 10x faster Big thanks! Subbed and liked keep up the content :)
@Excelmacromastery
3 жыл бұрын
You're welcome.
Very Helpful... Thank You... We need Excel masters like you...
@Excelmacromastery
4 жыл бұрын
Happy to help
it's very helpful, i've been looking for this kind of advance filter a couple of weeks ago. thank you sir, it might be a great help for my system working on
Thank you for your time and expertise. Top-notch tutorials! You have a new subscriber here 👍
@Excelmacromastery
4 жыл бұрын
Welcome aboard!
very useful So glad that i met your video
very comprehensive!
Thanks for sharing!
Thank you. Gr8 lessons
Your tuto is a filtering reference !!
This is pretty useful. Thank you!
@Excelmacromastery
4 жыл бұрын
You're welcome Bobby
Excellent presentation, for ur explanation take a bow 🙇♂️
@Excelmacromastery
3 жыл бұрын
Thanks a lot Rohith
Great Video ! It was a lot of help for the project I was doing.. Thanks a million !
@Excelmacromastery
2 жыл бұрын
Great to hear!
Excellent sir Hats off to ur knowledge
Hi Paul, your videos are great!
@Excelmacromastery
4 жыл бұрын
Thanks Marcel.
@Excelmacromastery
4 жыл бұрын
You're welcome.
Amazing video sir... really very helpful videos you upload..🙏😊
It was nice and awesome video. Thank you for sharing.
It was a good tutorial. Thank you very much.
@Excelmacromastery
4 жыл бұрын
Thanks for your support Nanthaphong.
You're simply great sir😍
Beautiful.
Marvellous. Thanks
Very helpful information . It help me solve a current challenge Thank you😃
wow sir your teaching way is very good 👍👍👍👍
Nice. I've used Advanced Filter before, but was never clear on the use of Criteria Range. I'm hoping to use this VBA feature to be able to filter from one workbook and copy the data to another. The source worksheet has 61 columns all the way to BI, and variable rows. I only need data from 7 of those columns. And to make it interesting, one column has random blank cells! Should be fun! Thanks Paul!
@Excelmacromastery
4 жыл бұрын
You're welcome Russell. Sounds like an interesting project.
thank you so much.. this saved me today :)
Thank you so much for this video. My application is so much faster. Thanks for sharing your knowledge.
Hi, This was amazingly helpful! Is there a way to use xlfiltercopy and have it copy conditional formatting into the output range as well? Thanks!
Hi, thanks for posting this! It has really helped with a problem I have been facing :-) I have one question. Would it be possible to extend this macro so that it looped through a number of different filter criteria? For example, could you populate row 2 and 3 with different criteria and the macro would take both sets of information and paste them in the output?
Thankyou paul for your video.. I think we can change the "rgcriteria" to be = range("a2").currentregion so we aren't to make calculation " if range("a1").currentregion.row.count = 1 " everytime it doesn't intersect
Superb! Very useful information
@Excelmacromastery
4 жыл бұрын
Thank you.
awesome video !!!
@Excelmacromastery
4 жыл бұрын
Thanks Prince.
Thank you!
Very useful.
Thanks a lot i do my first Macro once checking your Video, Very Helpful Video
@Excelmacromastery
4 жыл бұрын
Glad it helped
Excellent sir
very useful, thank you
@Excelmacromastery
4 жыл бұрын
Many thanks Hok Wai.
Nice l know and using advanced filter for past 20 years and named ranges and tables also very useful
@Excelmacromastery
3 жыл бұрын
Thanks for sharing
I've been using advanced filter in combination with a textbox. When you type it automatically filters the string. Useful when you have a huge list of files and folders.
@Excelmacromastery
4 жыл бұрын
That is very useful applicaiton of it Jelle.
I hope you won't take off any video from your KZread channel..it gives me better clarification in concise. Simply loving your magical lines of code.
@Excelmacromastery
4 жыл бұрын
Thanks Sunil.
Amazing thank you...
@Excelmacromastery
3 жыл бұрын
You're welcome Aaron
Thanks a lot. I used to depend on pivot tables but now I will use Advanced Filters instead which is much cleaner and faster. I can use it to filter data based on a user criteria, create a subset by workbooks.add and mail it to user.
@Excelmacromastery
4 жыл бұрын
You're welcome John.
I really like your videos. They are inspiring but they always lead me to challenging myself to implement what you are sharing. I am trying to use Advanced filter to select ranges with the same number of columns however the number of rows varies and copy them to another worksheet. In my specific case I have 8 filtered ranges that i am enter into a table on another worksheet. Any advice?
Thank you for sharing this. I wonder how do we use multiple criteria for a single column
Very Usefully yout tricks mi amigo..... Gracias
@Excelmacromastery
4 жыл бұрын
You're welcome.
Hi everyone, If you haven't used the Advanced Filter before, I think you'll be amazed when you see how fast and efficient it is. Enjoy! Please leave any questions or comments below. Notes: *Tom* will return all records that start with 'Tom' *="Tom"* will return all records that *do not contain* 'Tom' *="=Tom"* will return all records that *contain* 'Tom' Thank you.
@alexandrumarcel3696
4 жыл бұрын
I have a question. Can you copy the filtered data to another workbook?
@moyura2
4 жыл бұрын
how about clipboard ?
@virak981
4 жыл бұрын
Hi, on 18:35 the ClearFilter is not working for me. how to solve this issue? Thank you.
@jundidoang7346
4 жыл бұрын
How to put new data in the next empty row in Output sheet using advanced filter?
@jamespecorella7395
4 жыл бұрын
can you advance filter by format, example highlighted cells?
i like this so much
Thanks for the tutorial. What if you're using one condition in another worksheet, and the output should be a csv saved in a specific folder without the header? How do you check the time spent in running the macro?