[[20160626095901]] 『sheet1の商品コードをsheet2に記入されている商品』(トム) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『sheet1の商品コードをsheet2に記入されている商品コードのみ表示したい』(トム)

sheet1の商品コードをsheet2に記入されている商品コードのみ表示したいです。
商品コードは複数あり変更もあるため、動的にフィルターをかけたいのですが、以下のコードだとフィルターがかかりません。
どこが問題でしょうか?

Sub test()

Dim ee As Long
Dim matrix() As String

For ee = 1 To Worksheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Row
ReDim Preserve matrix(ee - 1)
matrix(ee - 1) = Worksheets("Sheet2").Cells(ee, "A").Value
Next

Worksheets("Sheet1").Activate

Selection.AutoFilter
Range("A1").AutoFilter Field:=1, Criteria1:=matrix, Operator:=xlFilterValues

End Sub

< 使用 Excel:Excel2016、使用 OS:Windows10 >


>Selection.AutoFilter

selectionが毎回同じとは限らないです。

(マナ) 2016/06/26(日) 10:33


マナさん Selection.AutoFilterがオンになっている状態でも、フィルターが効きません。
(トム) 2016/06/26(日) 10:48

ごめんなさい。原因がわかりません。
わかりませんが、わたしの場合は、こんな感じにします。
または、フィルターオプションを使うかも。

 Sub test2()
    Dim v

    With Worksheets("Sheet2")
        v = .Range("A1", .Range("A" & .Rows.Count).End(xlUp)).Value
    End With

    With Worksheets("Sheet1").Range("A1").CurrentRegion
        .AutoFilter
        .AutoFilter Field:=1, _
                    Criteria1:=Split(Join(WorksheetFunction.Transpose(v))), _
                    Operator:=xlFilterValues
        .Parent.Activate
    End With

 End Sub

(マナ) 2016/06/26(日) 11:38


 情報共有です。

http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=78316;id=excel
(マルチネス) 2016/06/26(日) 17:06


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.