|
▼ギン さん:
こんばんは。
>またまた質問させて下さい。
>抽出先のワークシートに抽出条件と位置を指定して
>データベースのワークシートから抽出しようとして
>まず記録マクロを行いました。(フィルタオプション)
>
>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の指定の仕方が悪いのでしょうか?
>長々書いてしまい申し訳ありませんが宜しく御願い致します。
確認して下さい。
|
|