ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Convert Advanced filter macro to VBA (https://www.excelbanter.com/excel-programming/414303-convert-advanced-filter-macro-vba.html)

ScoobyDoo[_2_]

Convert Advanced filter macro to VBA
 
Hi

I have this macro to filter data


Sheets("Working Data").Select
Cells.Select
Selection.Delete Shift:=xlUp
Range("A1").Select
Sheets("Raw data").Cells.AdvancedFilter Action:=xlFilterCopy,
CriteriaRange _
:=Sheets("Filter Criteria").Rows("1:3"),
CopyToRange:=Range("A1"), Unique _
:=False
Cells.Select
Selection.Columns.AutoFit


The filter Criteria is on sheet Filter Criteria
There are row headings from Columns A to AG
The actual criteria are;

Cell D2 ="=*AoS"
Cell F3 ="=*AoS"

Cell I2 ="=*Battle"
Cell I3 ="=*Battle"

Cell L2 ="=USA"
Cell L3 ="=USA"

Cell M2 ="=*Victory"
Cell M3 ="=*Victory"

The data being filtered is on sheet Raw Data
Once the data is filtered, it is copied top sheet Working data

I have read in various threads that VBA code can be more efficient
than Macro code. My questions is..

how do you convert the above code to VBA?

joel

Convert Advanced filter macro to VBA
 
I believe the references you are refereing to is to use VB6 compiler to
compile the code. To compile code you need to buy a compiler. Compiled code
can sometimes run faster and may take up less memory that an excel macro.

The question is why do you want to convert. does the present code take a
long time to run? Compiled code only real advantage besides speed is you
don't need to buy Excel (MicroSoft Office) to run the code. Compiled code
just requires Windows installed on the PC or servier.

"ScoobyDoo" wrote:

Hi

I have this macro to filter data


Sheets("Working Data").Select
Cells.Select
Selection.Delete Shift:=xlUp
Range("A1").Select
Sheets("Raw data").Cells.AdvancedFilter Action:=xlFilterCopy,
CriteriaRange _
:=Sheets("Filter Criteria").Rows("1:3"),
CopyToRange:=Range("A1"), Unique _
:=False
Cells.Select
Selection.Columns.AutoFit


The filter Criteria is on sheet Filter Criteria
There are row headings from Columns A to AG
The actual criteria are;

Cell D2 ="=*AoS"
Cell F3 ="=*AoS"

Cell I2 ="=*Battle"
Cell I3 ="=*Battle"

Cell L2 ="=USA"
Cell L3 ="=USA"

Cell M2 ="=*Victory"
Cell M3 ="=*Victory"

The data being filtered is on sheet Raw Data
Once the data is filtered, it is copied top sheet Working data

I have read in various threads that VBA code can be more efficient
than Macro code. My questions is..

how do you convert the above code to VBA?


Bob Phillips

Convert Advanced filter macro to VBA
 
Macro code is VBA.

If you are really meaning VB6 as suggested, there is a lot more work, and
there is the overhead of automation, connecting VB6 to Excel.

You would be better explaining what your problem is and solving it using
VBA. For instance, not selecting helps speed things, turning screen off,
etc.

--
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)

"ScoobyDoo" wrote in message
...
Hi

I have this macro to filter data


Sheets("Working Data").Select
Cells.Select
Selection.Delete Shift:=xlUp
Range("A1").Select
Sheets("Raw data").Cells.AdvancedFilter Action:=xlFilterCopy,
CriteriaRange _
:=Sheets("Filter Criteria").Rows("1:3"),
CopyToRange:=Range("A1"), Unique _
:=False
Cells.Select
Selection.Columns.AutoFit


The filter Criteria is on sheet Filter Criteria
There are row headings from Columns A to AG
The actual criteria are;

Cell D2 ="=*AoS"
Cell F3 ="=*AoS"

Cell I2 ="=*Battle"
Cell I3 ="=*Battle"

Cell L2 ="=USA"
Cell L3 ="=USA"

Cell M2 ="=*Victory"
Cell M3 ="=*Victory"

The data being filtered is on sheet Raw Data
Once the data is filtered, it is copied top sheet Working data

I have read in various threads that VBA code can be more efficient
than Macro code. My questions is..

how do you convert the above code to VBA?





All times are GMT +1. The time now is 09:56 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com