XL: Sample Macro to Sort List Based on Custom Sort Order
ID: Q142112
|
The information in this article applies to:
-
Microsoft Excel 97 for Windows
-
Microsoft Excel for Windows 95, version 7.0
-
Microsoft Excel for Windows, versions 5.0, 5.0c
-
Microsoft Excel for the Macintosh, versions 5.0, 5.0a
-
Microsoft Excel 98 Macintosh Edition
SUMMARY
In Microsoft Excel, you can create your own custom sort lists and you
can use these lists to specify sort orders when you sort a list of
information. This article describes the procedures for creating a custom
sort list and includes a sample Microsoft Visual Basic for Applications
macro that uses this custom list to sort a range of cells according to the custom sort order.
MORE INFORMATIONMicrosoft provides programming examples for illustration only, without warranty
either expressed or implied, including, but not limited to, the implied warranties of
merchantability and/or fitness for a particular purpose. This article assumes that you
are familiar with the programming language being demonstrated and the tools used to
create and debug procedures. Microsoft support professionals can help explain the functionality
of a particular procedure, but they will not modify these examples to provide added
functionality or construct procedures to meet your specific needs. If you have limited
programming experience, you may want to contact a Microsoft Certified Solution Provider
or the Microsoft fee-based consulting line at (800) 936-5200. For more information about
Microsoft Certified Solution Providers, please see the following page on the World Wide Web:
http://www.microsoft.com/mcsp/
For more information about the support options available from Microsoft, please see the
following page on the World Wide Web:
http://www.microsoft.com/support/supportnet/overview/overview.asp
To create a custom sort list to use later with the sample macro:
- In a new worksheet, type the following data:
A1: red
A2: blue
A3: green
A4: yellow
A5: pink
- On the Tools menu, click Options (or Preferences if you are using Excel for the Macintosh), and in the Options (or Preferences) dialog box click the Custom Lists tab.
- In the Import list from cells box, type A1:A5, and then click Import.
You should now have a custom sort list based on the list in step 1.
- Click OK.
- Type the following data in a new worksheet. (This data will be the
data that is sorted by the sample macro.)
A1: pink
A2: blue
A3: green
A4: blue
A5: yellow
A6: pink
A7: red
A8: blue
A9: red
- In a new module sheet, type the following macro code:
Sub Custom_Sort()
Range("A1").Sort Key1:=Range("A1"), Order1:= _
xlAscending, Header:=xlGuess, OrderCustom:=6, _
MatchCase:=False, Orientation:= xlTopToBottom
End Sub NOTE: The number for the "OrderCustom" argument is the position of
your custom list in the list from the Custom Lists tab of the Options
dialog box. The number you use may be different from the one used in
this example. To find out what number you should use, click Options
on the Tools menu, and click the Custom Lists tab. By default, there
are four default sort lists in Microsoft Excel. Their values for the
"OrderCustom" argument would be 2, 3, 4, and 5, respectively.
Therefore, the first custom sort list would be 6. If you have only
the custom sort list created in steps 1 through 3 above, this is the
value you would use for the "OrderCustom" argument. Use this value
because the number 1 item in the list is reserved for the "New List"
item.
- Switch to the worksheet where you entered the value in step 4, and
then run the Custom_Sort macro.
The list should be sorted according to the custom sort list you
created in steps 1-3, and your data should resemble the following:
A1: red
A2: red
A3: blue
A4: blue
A5: blue
A6: green
A7: yellow
A8: pink
A9: pink
For additional information about determining the position for a custom sort
list, please click the article number below to view the article in the Microsoft Knowledge Base:
Q134913
XL: GetCustomListNum Returns Unexpected List Number
REFERENCES
For more information about custom lists in Excel 97, click Answer Wizard on the Help menu and type:
tell me about creating custom lists
For more information about custom lists in earlier versions of Excel, choose the Search button in Help and type:
custom lists
Additional query words:
5.00a 5.00c 8.00 XL97
Keywords : kbualink97 kbdta kbdtacode PgmHowto KbVBA
Version : MACINTOSH:5.0,5.0a,98; WINDOWS:5.0,5.0c,7.0,97
Platform : MACINTOSH WINDOWS
Issue type : kbhowto
|