|
初心者です よろしくお願いいたします
シート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
|
|