2017-07-18 7 views
1

Entweder mit erweiterten Filter durch Excel oder VBA, bekomme ich Übereinstimmungen mit meinem Abfrage-String, die sich wie ein Wildcard-Match verhalten. Kriterien = "On Drug (GPI)", aber die Ergebnisse enthalten "On Drug (GPI)" & "On Drug (GPI) w/Tage Versorgung". Wie bekomme ich eine genaue Übereinstimmung?Erweiterter Filter: Excel VBA

‚, die fxn:

Set dataRng = Range("raw_FxnTbl") 
      startCol = 2 
      endCol = 8 
      With sumSh 
       .Select 
       Set pasteRng = .Range(.Cells(labelRow, startCol), .Cells(labelRow, endCol)) 
       dataRng.AdvancedFilter _ 
        Action:=xlFilterCopy, _ 
        CriteriaRange:=critRng, _ 
        CopyToRange:=pasteRng, _ 
        Unique:=True 
      End With 

critRng ist definiert durch?

With calcSh 

    .Select 

    .Cells(critRow + 1, critCol).Value = Trim(chosenItem) 

    Set critRng = .Range(.Cells(critRow, critCol), .Cells(critRow + 1, critCol)) 

End With 

Dies ist definiert critRng:

critRow ==> Name

critRow + 1 ==> On Drug (GPI)

+1

Es ist schwierig zu beurteilen, ohne zu sehen, wie Sie den Kriterienbereich und die Variable 'critRng' festgelegt haben. –

+0

Siehe überarbeitete Post –

+0

Ich könnte das Problem reproduzieren, ja, es ist ein seltsames Ergebnis). Siehe meine Antwort unten, hoffe, es hilft. –

Antwort

0

Versuchen Sie, diese in der Zelle Kriterien bei critRow+1 setzen :

alten Text war On Drug (GPI)

Geben Sie diese stattdessen:

'=On Drug (GPI)

  • Der Apostroph ist Excel zu interpretieren es als eine Formel zu vermeiden.

  • Die = ist Excel zu zwingen, eine Exact Match (nicht Groß-und Kleinschreibung beachten).