0% found this document useful (0 votes)
27 views

VBA Lesson 18: Excel VBA Vocabulary To Filter and Sort Data: Set of Data As A Database

This document discusses filtering and sorting data in Excel using VBA. 1) It provides code to deactivate any existing filters on a data range before applying new filters or sorting. 2) A simple macro is given to sort data in a range by a single column in ascending order. 3) Another macro sorts data by multiple columns, specifying up to three sort keys. 4) A more complex recorded macro example is shown that sorts data across multiple columns and can be used in Excel 2007 and 2010.

Uploaded by

prasadramanji07
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views

VBA Lesson 18: Excel VBA Vocabulary To Filter and Sort Data: Set of Data As A Database

This document discusses filtering and sorting data in Excel using VBA. 1) It provides code to deactivate any existing filters on a data range before applying new filters or sorting. 2) A simple macro is given to sort data in a range by a single column in ascending order. 3) Another macro sorts data by multiple columns, specifying up to three sort keys. 4) A more complex recorded macro example is shown that sorts data across multiple columns and can be used in Excel 2007 and 2010.

Uploaded by

prasadramanji07
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

VBA Lesson 18: Excel VBA Vocabulary to Filter and Sort Data When Excel recognises you set

of data as a database it offers you very powerful database functionalities like sorting and filtering. Deactivating filters When you work in an Excel database you might want to make sure that all data filters are off. To this end you will start your procedure with two "If"statements. For example with a database starting in cell A1 here are the two sentences: Range("A1" ).Select If ActiveSheet.AutoFilterMode = True Then Selection.AutoFilter If ActiveSheet.FilterMode = True Then ActiveSheet.ShowAllData Sorting Data Here is a simplified Excel macro to sort data using a criteria in one field. The following Excel macro will work with any size database starting in cell A1 and it will work in any version of Excel (1997 to 2010). Sub proFilter() Range("A1").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes End Sub Try the Excel macro above with a small table like the following (as you have leand how in the basic exercises for beginners): Name Jones Tom Barry Peter Number 1 2 3 4

Here is another simplified Excel macro sorting data using criteria in three different fields. Sub proFilter() Range("A1").Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range( _ "B2"), Order2:=xlAscending, Key3:=Range("C2"), Order3:=xlAscending, _ Header:=xlYes

End Sub The code in the two procedures above is much simpler than the following recorded macro in Excel 2007 and 2010. This recorded macro will not work in earlier versions of Excel (1997 to 2006). ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A2:A7"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("B2:B7"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("C2:C7"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Sheet1").Sort .SetRange Range("A1:E7") .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With In the downloadable course on Excel macros we offer you much more vocabulary to work with Excel databases and also many more simplified macros that can be used in all versions of Excel. You can you can copy/paste any of them into your own workbooks.

You might also like