Categorize and Sort Excel VBA

Posted on 2010-11-08
Last Modified: 2012-05-10
Is there any way to have  “mouse” categorize at the top and date sorted ,
then “Dog”, then ”cat”
and when a new line is add, when Column B is entered, this would categorize it again and date ordered?

Dog      10/25/2010
cat      8/19/2010
mouse      8/16/2010
Dog      11/1/2010
mouse      12/1/2010
Dog      8/16/2010
cat      7/1/2010
mouse      11/8/2010
Dog      11/8/2010
cat      10/1/2010
Question by:ca1358
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
LVL 37

Expert Comment

ID: 34086763
Does mouse have to be at the top? You could just sort by column B then by column A.

Author Comment

ID: 34086791
Yes order would have to be Mouse, Dog, Cat
LVL 37

Expert Comment

ID: 34086799
Just sort it descending then.
Add this code to the worksheet to make it automatic.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B:B")) Is Nothing Then
  Range("A:B").SortSpecial Key1:=Range("A1"), Order1:=xlDescending, Key2:=Range("B1"), Order2:=xlAscending
End If
End Sub

Open in new window

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

LVL 13

Expert Comment

ID: 34086878
Have a helper column that stores 1,2 or 3 based on the column containing Mouse, Dog or Cat. Now sort as you want... based on the helper column and dates.
LVL 37

Accepted Solution

TommySzalapski earned 500 total points
ID: 34086942
In your case you can simply sort descending since mouse, dog, cat are in reverse alphabetical order; however, if you ever need to do a custom sort, you can create custom lists and it will sort by them.
This is how it sorts weekday and month names.
LVL 37

Expert Comment

ID: 34086945
gbanik, that was also for your benefit. Custom lists are really cool. They work for sorting and fill down.

Author Comment

ID: 34087292
I just realize it would be descending but it would not always be the case.  They could be mix up, so how do I define the list once sorted?   So that mouse, cat, dog.
LVL 37

Expert Comment

ID: 34087457
You just need to define a custom list. Which version of Excel are you using?
LVL 37

Expert Comment

ID: 34087465
2007/2010 from the link I posted:
1.Click the Microsoft Office Button , and then click Excel Options.
2.Click the Popular category, and then under Top options for working with Excel, click Edit Custom Lists.
3.In the Custom Lists box, click NEW LIST, and then type the entries in the List entries box, beginning with the first entry.
Press ENTER after each entry.

4.When the list is complete, click Add.
The items in the list that you selected are added to the Custom lists box.

5.Click OK twice.
LVL 37

Expert Comment

ID: 34394385
http:#a34086942 Is the best answer. Custom lists work really well for sorting.
LVL 24

Expert Comment

ID: 34459671
This question has been classified as abandoned and is being closed as part of the Cleanup Program.  See my comment at the end of the question for more details.

Featured Post

Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Freeze panes is an option within all variants of Excel to enable parts of a sheet to remain stationary when the cursor is in another part of the sheet. This is a very useful feature which is overlooked or under used.
Access developers frequently have requirements to interact with Excel (import from or output to) in their applications.  You might be able to accomplish this with the TransferSpreadsheet and OutputTo methods, but in this series of articles I will di…
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.
This Micro Tutorial will demonstrate how to use a scrolling table in Microsoft Excel using the INDEX function.

710 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question