|
▼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
|
|