アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excelマクロ オートフィルター条件設定で不等号を使いたい

請求シートより抽出条件シートに条件を設定し、抽出シートにコピーするマクロ
を作成しています。
抽出条件に比較演算子の不等号<>を使った場合、条件が無視されてしまいます。
どのようにしたら良いでしょうか?

請求シートのA列には会社番号が数字4桁で入力されています。
抽出条件シートA5セルに下記の条件を設定した場合、
1と2の場合は上手くフィルターが機能しますが、3の不等号を
使った場合は機能しません。どなたか宜しくお願いします。

1:1000
2:>1000
3:<>1000

Sub テスト()
Dim LastRow As Long, LastColumn As Long
Dim myData As Range
Dim myCriteria As Range
With Worksheets("請求")
LastColumn = .Cells(5, Application.Columns.Count).End(xlToLeft).Column
LastRow = .Cells(Application.Rows.Count, "A").End(xlUp).Row
Set myData = .Range("A5", .Cells(LastRow, LastColumn))
End With
Set myCriteria = Worksheets("抽出条件").Range("A5").CurrentRegion
Worksheets("抽出").Range("A6:R1000").ClearContents
myData.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=myCriteria, _
CopyToRange:=Worksheets("抽出").Range("A5:R5"), Unique:=False
Set myData = Nothing
Set myCriteria = Nothing
End Sub

A 回答 (3件)

会社番号は数字とのことですが、4桁固定の文字(数字の)になっていると思います。


※数字なら「<>1000」で問題なくできましたので…

文字と仮定した場合、以下の条件ならできました。
<>*1000*

試してください。
    • good
    • 0
この回答へのお礼

jcctairaさん、お返事有り難うございます。

A列セルの書式を確認してみました。
請求シート・抽出条件シート・抽出シートは全て「標準」になってました。
この書式を文字列・数値のそれぞれに変えてテストしてみましたが
<>1000 と <>*1000* ではやはり抽出されませんでした。
jcctairaさんの環境ではできたようなので、自分でも色々と試してみたいと
思います。

最初に書き忘れましたが、当方、Excel2010で動作確認をしております。

お礼日時:2010/10/23 21:44

TOGOASKさん



Excel2010で動作確認を行いました。
抽出条件のA列だけに「<>1000」を行ったら正常に抽出されました。
※会社番号を数字4桁で確認

抽出条件とかに何か(スペース文字とか?)残っているのでしょうかね?
色々大変ですが、試行錯誤して確認してください
    • good
    • 0
この回答へのお礼

jcctairaさん。
再度のお返事有り難うございます。

スペースが入っている、文字列が入っている、はたまた他の理由にせよ
不等号<>だけが機能しないのは不思議でならないのですが、いったん
解決済みとさせて頂きます。
有り難うございました。

お礼日時:2010/10/24 22:40

抽出条件シート



A5 を空白にして、
A6に以下の数式を入れてみてください。

=請求!A6<>"1000"

いちいち、数式を入れるのが面倒なら、マクロで条件を作って数式を入れてもよいと思います。
請求シートの会社番号は文字列が入っているようです。
    • good
    • 0
この回答へのお礼

Wendy02さん。
お返事有り難うございます。
教えて頂いた通りにやってみましたが、やはり結果は同じでした。
見た目では会社番号には文字列らしきものは入っていないのですが
きっと何かあるのでしょうね。

スペースが入っている、文字列が入っている、はたまた他の理由にせよ
不等号<>だけが機能しないのは不思議でならないのですが、いったん
解決済みとさせて頂きます。
有り難うございました。

お礼日時:2010/10/24 22:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!