|
▼キョウコ さん:>こんにちわ。
>シート1のデータのE列の日付から(K3からM3まで)シート2の売上の日付のデータを抽出し
>シート6へ行ごとコピーしたいのです。
何年何月何日という単一の日付を見つけるには
ワークシート関数Matchを使います。
しかし、
> いつからいつまでを抽出
「期間を抽出」するにはフィルターを使います。
Sub Filter1() 'AdvancedFilter である期間を抽出コピー
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim ws3 As Worksheet
Set ws1 = Worksheets("Sheet1")
Set ws2 = Worksheets("Sheet2")
Set ws3 = Worksheets("Sheet6")
'Sheet2の抽出条件をフィルタオプション用範囲[P1:Q2]にまとめる
With ws2
'Sheet1[E1]にある列見出し(「売上日」)をSheet2へコピー
.[P1:Q1].Value = ws1.[E1].Value
.[P2].Formula = ">=" & .[K3].Value2 '開始日付
.[Q2].Formula = "<=" & .[M3].Value2 '終了日付
End With
'フィルターオプション(AdvancedFilter)で抽出コピー
With ws3
.UsedRange.ClearContents
ws1.[A1].CurrentRegion.AdvancedFilter xlFilterCopy, _
CriteriaRange:=ws2.[P1:Q2], CopyToRange:=.[A1]
End With
End Sub
|
|