|
こんにちは。かみちゃん です。
横から失礼します。
>質問1
>コードについて
>Set CopyTo = Worksheets("WAREA")では、エラーが出るので
>Set CopyTo = Worksheets("WAREA").Range("A1")にすると
>抽出した行がWorksheets("WARA")の2行目に貼り付けられます。
>これで間違いないでしょうか?
kanabunさんからコメントがつくとは思いますが、
たしかに
Dim CopyTo As Range
としている以上、
Set CopyTo = Worksheets("WAREA")
は、エラーが出ると思います。
kanabunさん、違っていれば、ご指摘ください。
そのため、
Set CopyTo = Worksheets("WAREA").Range("A1")
とすると、
フィルタオプション(AdvancedFilter)を使っている以上、指定されたセル範囲
の次の行に転記されます。
なお、フィルタオプションを使うときは、見出し行をきちんと指定しておくこと
が重要になります。
>質問2
>CopyTo.Parent.UsedRange.ClearContents
>「Parent」が指定されたオブジェクトの親オブジェクトを返す
>ことだと判断していますが、このコードはどのような
>役割をしているのでしょうか?
MsgBox CopyTo.Parent.Name
で、CopyToのセル範囲があるシートの名前になります。
つまり、
CopyTo.Parent.UsedRange
で、CopyToのセル範囲のシートのUsedRangeになります。
詳しくは、ヘルプで確認してみてください。
|
|