Solved

Autofilter on cells not equal to

Posted on 2011-09-13
12
477 Views
Last Modified: 2012-05-12
I am finishing an autofilter and had a late add.  In the code, I need to add a line that gives me only the cells that do have the text REJ in it.  There are numerous other values in the same cell, I just do not want the ones that have REJ as part of it.
With rgFilter
        .AutoFilter
        .AutoFilter Field:=7, Criteria1:="SPCLMDL"
                .AutoFilter Field:=10, Criteria1:=Array( _
        "CRTD", "PCNF LKD  REL", "PCNF REL", "REL"), Operator:=xlFilterValues
        .AutoFilter Field:=20, Criteria1:="<=" & Date, Operator:=xlAnd  'Late including today
        
        .Sort Key1:=Range("T1"), Order1:=xlAscending, Header:=xlGuess, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin

'Need to filter by not-equal to REJ in column 31, if the value REJ is anywhere in any cell in this column
'Sample data is   CNF REJ PCNF REL could be in any cell.
        
    End With

Open in new window

0
Comment
Question by:RWayneH
  • 6
  • 4
  • 2
12 Comments
 
LVL 10

Expert Comment

by:SANTABABY
ID: 36532251
On which column are you going to apply this new filter ?
0
 
LVL 10

Expert Comment

by:SANTABABY
ID: 36532256
Sorry, did no see you code, which already has the answer. !! My bad.
0
 
LVL 10

Expert Comment

by:SANTABABY
ID: 36532296
Please add the following code in the same block

  .AutoFilter Field:=31, Criteria1:="=*REJ*", Operator:=xlAnd
0
Migrating Your Company's PCs

To keep pace with competitors, businesses must keep employees productive, and that means providing them with the latest technology. This document provides the tips and tricks you need to help you migrate an outdated PC fleet to new desktops, laptops, and tablets.

 

Author Comment

by:RWayneH
ID: 36532701
So  ="=*REJ*"  means not equal too?  and ="*REJ*" means equal too?  Can you please explain the line?  It will help me understand this for future filters..  thanks. -R-
0
 
LVL 10

Accepted Solution

by:
SANTABABY earned 500 total points
ID: 36532751
If you want to dsiplay the cells that CONTAIN "REJ", Use => Criteria1:="=*REJ*"

If you want to dsiplay the cells that DO NOT CONTAIN "REJ", Use => Criteria1:="<>*REJ*"

0
 
LVL 32

Expert Comment

by:Rob Henson
ID: 36535280
Are you after the cells that contain only REJ and nothing else?

If so:

.AutoFilter Field:=31, Criteria1:="=*REJ*", Operator:=xlAnd, Criteria2:="<>* *"

Thanks
Rob H
0
 
LVL 32

Expert Comment

by:Rob Henson
ID: 36535847
Actually just realised that if its those with only REJ it would be:

.AutoFilter Field:=31, Criteria1:="=REJ"

If the REJ could have trailing spaces then add an * after the J. This will show all cells that start with REJ.

I am guessing that you are producing a list from SAP showing Release Status of items eg Network or Activity. Can you use the Dynamic selection in SAP to generate the list with only REJ status?

Unfortuntely no longer have access to the PS module of SAP to help find the necessary criteria.

Thanks
Rob H
0
 

Author Comment

by:RWayneH
ID: 36536760
Looking for whether "REJ" is anywhere in the contents of a cell.  Ex ( REL CNF LKD REJ)  would return True
If true filter it out.  ( REL CNF LKD ) = False  REJ not in the cell so show it.  -R-
0
 

Author Comment

by:RWayneH
ID: 36536881
See the code above, I want to add this to the existing filters.. -R-
0
 

Author Comment

by:RWayneH
ID: 36536958
.AutoFilter Field:=31, Criteria2:= _
        "<>*REJ*", Operator:=xlAnd

is failing,  when I use criteria1 it fails too...  I got the line from the macro recorder.  Maybe I need to understand the CriteriaX number? -R-

With rgFilter
        .AutoFilter
        .AutoFilter Field:=7, Criteria1:="SPCLMDL"
                .AutoFilter Field:=10, Criteria1:=Array( _
        "CRTD", "PCNF LKD  REL", "PCNF REL", "REL"), Operator:=xlFilterValues
        .AutoFilter Field:=20, Criteria1:="<=" & Date, Operator:=xlAnd  'Late including today
        
        .Sort Key1:=Range("T1"), Order1:=xlAscending, Header:=xlGuess, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin

'Need to filter by not-equal to REJ in column 31, if the value REJ is anywhere in any cell in this column
'Sample data is   CNF REJ PCNF REL could be in any cell.
        
    End With

Open in new window

0
 

Author Comment

by:RWayneH
ID: 36537092
It was a different issue...  the
.AutoFilter Field:=31, Criteria1:="<>*REJ*", Operator:=xlAnd

worked to remove the rows that REJ showed in.  -R-
0
 

Author Closing Comment

by:RWayneH
ID: 36537116
Thanks for the help w/ this.  -R-
0

Featured Post

Problems using Powershell and Active Directory?

Managing Active Directory does not always have to be complicated.  If you are spending more time trying instead of doing, then it's time to look at something else. For nearly 20 years, AD admins around the world have used one tool for day-to-day AD management: Hyena. Discover why

Question has a verified solution.

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

INDEX and MATCH can be used to great effect to replace HLOOKUP and VLOOKUP as it does not have the limitation of needing the data to be sorted so that the reference value is in the first column or row. It also has the ability to perform a bi-directi…
This code takes an Excel list of URL’s and adds a header titled “URL List”. It then searches through all URL’s in column “A”, looking for duplicates. When a duplicate is found, it is moved to the top of the list. The duplicate URL’s are then highlig…
The viewer will learn how to use a discrete random variable to simulate the return on an investment over a period of years, create a Monte Carlo simulation using the discrete random variable, and create a graph to represent the possible returns over…
This Micro Tutorial demonstrate the bugs in Microsoft Excel for Mac with Pivot Charts.

809 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