Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Autofilter on cells not equal to

Posted on 2011-09-13
12
Medium Priority
?
520 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
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 

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 34

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 34

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

How to get Spreadsheet Compare 2016 working with the 64 bit version of Office 2016
Access developers frequently have requirements to interact with Excel (import from or output to) in their applications.  You might be able to accomplish this with the TransferSpreadsheet and OutputTo methods, but in this series of articles I will di…
The viewer will learn how to create a normally distributed random variable in Excel, use a normal distribution to simulate the return on an investment over a period of years, Create a Monte Carlo simulation using a normal random variable, and calcul…
The viewer will learn how to create two correlated normally distributed random variables in Excel, use a normal distribution to simulate the return on different levels of investment in each of the two funds over a period of ten years, and, create a …

971 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