| 
    
     |  | ▼kao さん: ponponです。こんばんは。
 
 >"sheet1"に入力したデータを"sheet2"の一番下行にコピーし"sheet2"で日付と顧客名でフィルタをかけたものを,
 
 これでは、sheet1とsheet2が同じ物になってしまうのではないでしょうか?
 sheet1は、入力専用にするか。ユーザーフォームを用いてsheet2に直接入力するようにした方がよいのでは?
 
 >"sheet3"に貼り付け印刷するというものです。
 
 これは、後回しにして、
 
 >また,フィルタでかける日付は、○月△日〜□月×日といういうものです。
 
 どのような方法でフィルターをかけるのでしょうか。
 sheet2の特定のセルで?
 ユーザーフォームで?
 
 もう少し詳しい説明をしないとレスは難しいと思います。
 
 以下コードは、
 testは、sheet1のA2からC2に入力した日付,顧客名,商品を
 sheet2の2行目から最下行に追加していきます。
 test2は、上記のようにして追加したsheet2にオートフィルターをかけ、
 日付と名前で抽出し、sheet3に貼り付けます。
 検討してください。
 sheet2の一行目には、日付,顧客名,商品が見出しとして入っている物とします。
 
 Sub test()
 Dim myVal As Variant
 
 myVal = Worksheets("sheet1").Range("A2:C2").Value
 Worksheets("sheet2").Range("A65536").End(xlUp).Offset(1, 0).Resize(1, 3).Value = myVal
 
 
 End Sub
 
 Sub test2()
 
 Worksheets("sheet3").Range("A1").CurrentRegion.ClearContents
 
 With Worksheets("sheet2")
 .Range("A1").CurrentRegion.AutoFilter Field:=1, Criteria1:=">=2005/3/4", Operator:=xlAnd, _
 Criteria2:="<=2005/3/6"
 .Range("A1").CurrentRegion.AutoFilter Field:=2, Criteria1:="三郎"
 .Range("A1").CurrentRegion.Copy
 
 
 Worksheets("sheet3").Range("A1:C1").PasteSpecial
 
 Range("A1").CurrentRegion.AutoFilter
 Application.CutCopyMode = False
 End With
 
 End Sub
 
 |  |