Convert Advanced filter macro to VBA

S

ScoobyDoo

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?
 
J

Joel

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.
 
B

Bob Phillips

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)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top