| 
    
     |  | ▼ギン さん: こんばんは。
 
 >またまた質問させて下さい。
 >抽出先のワークシートに抽出条件と位置を指定して
 >データベースのワークシートから抽出しようとして
 >まず記録マクロを行いました。(フィルタオプション)
 >
 >Sub Macro1()
 >  Sheets("PKG名無しリスト").Select’抽出先ワークシート
 >  Range("A5:C100").Delete’前の抽出データを削除
 >  Sheets("次年度").Range("A1:V861").AdvancedFilter Action:=xlFilterCopy, _
 >    CriteriaRange:=Range("A1:C2"), CopyToRange:=Range("A4:C4"), _    Unique:=True
 >End Sub
 >とするとちゃんと抽出してくれます。
 >しかし、データ行が変わるので次のように書き換えましたがエラーになってしまいます。
 今度は、エラーの個所とエラーの内容も教えて下さいね!!
 
 >Sub test()
 >  Dim rEnd As Integer
 >  Dim cEnd As Integer
 >  Sheets("次年度").Activate
 >  rEnd = Cells(65536, 1).End(xlUp).Row
 >  cEnd = Cells(1, 1).End(xlToRight).Column
 >
 >  Sheets("PKG名無しリスト").Select
 >  Range("A5:C100").Delete
 >
 '  Cells(r, 1), Cells(rEnd, cEnd)のいづれもプロパテイです。
 '  ということは、オブジェクトがあるはずですよね。
 '  省略しているので、この場合、Sheets("PKG名無しリスト")になってしまいます。
 '  よって、はっきり明示してあげる必要があると思います。
 with Sheets("次年度")
 .Range(.Cells(r, 1),.Cells(rEnd, cEnd)).AdvancedFilter _
 Action:=xlFilterCopy, CriteriaRange:=Range("A1:C2"), _
 CopyToRange:=Range("A4:C4"), Unique:=True
 end with
 >End Sub
 >
 >rengeの指定の仕方が悪いのでしょうか?
 >長々書いてしまい申し訳ありませんが宜しく御願い致します。
 
 確認して下さい。
 
 |  |