| 
    
     |  | 初心者です よろしくお願いいたします 
 シート1(List1)
 日付    店舗    項目    1係    2係    3係
 20070401    本店    売上    1    1    1
 20070401    本店    差益    2    2    2
 20070401    本店    在庫    3    3    3
 20070401    支店A    売上    4    4    4
 20070401    支店A    差益    5    5    5
 20070401    支店A    在庫    6    6    6
 20070401    支店B    売上    7    7    7
 20070401    支店B    差益    8    8    8
 20070401    支店B    在庫    9    9    9
 20070402    本店    売上    1    1    1
 20070402    本店    差益    2    2    2
 20070402    本店    在庫    3    3    3
 20070402    支店A    売上    4    4    4
 20070402    支店A    差益    5    5    5
 20070402    支店A    在庫    6    6    6
 20070402    支店B    売上    7    7    7
 20070402    支店B    差益    8    8    8
 20070402    支店B    在庫    9    9    9
 
 日々のデータをユーザーフォームから上記のように転記しております
 これにオートフィルターで別シートに日にちと店舗を指定して抽出しております
 これに売上と差益の累計値も同時に表示させたいと思っております
 
 4月2日の本店を抽出するとシート2(List2)
 本店    売上    1    1    1
 本店    差益    2    2    2
 本店    在庫    3    3    3
 売上    2    2    2
 差益    4    4    4
 のように表示させたいのですがシート1(List1)に累計値がないとフィルターでは無理でしょうか?よろしくおねがいいたします
 シート1のデータは3店舗×3項目で1日9行が1年分あります
 係りは30係あります
 現在のコードは下記のとおりです
 
 Sub Test1()
 
 Dim sh1 As Worksheet
 Dim sh2 As Worksheet
 Set sh1 = Worksheets("List")  'リスト
 Set sh2 = Worksheets("List2")  '条件登録、結果表示
 
 Dim KeyA1 As String  '条件1
 Dim keyB1 As String   '条件2
 
 
 KeyA1 = sh2.Cells(2, 2).Value
 keyB1 = sh2.Cells(3, 2).Value
 
 
 '先回の結果をクリア (結果表示先List2シートA5:D20)
 sh2.Range(sh2.Cells(5, 1), sh2.Cells(20, 4)).ClearContents
 'オートフィルターで条件1、条件2を抽出
 
 With sh1
 '条件1
 .Cells(1, 1).AutoFilter Field:=1, Criteria1:=KeyA1
 
 '条件2
 .Cells(1, 1).AutoFilter Field:=2, Criteria1:=keyB1
 
 
 '抽出結果をコピーして結果表示場所に貼付け
 .AutoFilter.Range.Copy sh2.Cells(5, 1)
 .AutoFilterMode = False
 End With
 End Sub
 
 |  |