?
Solved

Autofilter on cells not equal to

Posted on 2011-09-13
12
Medium Priority
?
508 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

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 2000 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 33

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 33

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

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

A little background as to how I came to I design this code: Around 5 years ago I designed an add-in that formatted Excel files to a corporate standard, applying different cell colours and font type depending on whether the cells contained inputs,…
How to get Spreadsheet Compare 2016 working with the 64 bit version of Office 2016
Graphs within dashboards are meant to be dynamic, representing data from a period of time that will change each time the dashboard is updated with new data. Rather than update each graph to point to a different set within a static set of data, t…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

719 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