2017-07-18 7 views
1

ExcelまたはVBAを使用して高度なフィルタを使用すると、ワイルドカードマッチングのように動作するクエリ文字列に一致しています。基準= "薬物(GPI)"であるが、結果には "薬物(GPI)" & "薬物(GPI)と日数の供給"が含まれる。完全一致を得るにはどうすればよいですか?高度なフィルタ:Excel VBA

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は以下のように定義される:

「はFXN?

With calcSh 

    .Select 

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

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

End With 

これが定義されてcritRngです:薬物に+ 1 ==>(GPI)

+1

基準範囲と 'critRng'変数の設定方法を見ずに評価するのは難しいです。 –

+0

改訂された投稿を参照してください –

+0

私は問題を再現できました。はい、それは奇妙な結果です)。下の私の答えを見て、それが助けてくれることを願ってください –

答えて

0

critRow ==>名前

critRowはcritRow+1で基準セルでこれを入れてみてください:

古いテキストはOn Drug (GPI)

が、この代わりに入力します:

'=On Drug (GPI)

  • アポストロフィは、Excelが数式としてそれを解釈しないようにすることです。

  • =はExcelにExact Match(大文字と小文字は区別されません)を強制することです。

関連する問題