[[20140124143721]] 『AdvancedFilterでうまく抽出できません』(si) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『AdvancedFilterでうまく抽出できません』(si)

VBA初心者です。

一覧に今後の社内への展開内容を入力しており、
AsvancedFilterを使って明日の日にちのものを抽出し、
別ブックへコピペしようとしています。
一覧のA列は「展開日」が入っています。
5行目はタイトル行、6行目以下に展開内容が入っています。
A2には「開始日」A3には「=TODAY()+1」が入っています。

下記コードを調べて入力してみました。

AdvancedFilterで「展開日」が翌日のものを抽出し、
タイトル行(5行目)より下の抽出データのみを
「Book1」の「Sheet1」のA4へ値のみ貼り付けしたいのです。

しかし、明日の展開内容がない場合、入力されているすべての展開内容が
コピペされてしまいます・・・。

独学で初心者なもので、どこを直せばよいのか分かりません・・・
どなたか、ご教授お願いします。

Range("A5").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, _

            CriteriaRange:=Range("A2:A3"), _
            Unique:=False

Range("A5").CurrentRegion.Select
Selection.Offset(1).Resize(Selection.Rows.Count - 1).Copy
Workbooks("Book1.xlsx").Worksheets("Sheet1").Range("A4"). _

   End(xlDown).Offset(1, 0).PasteSpecial Paste:=xlPasteValues

< 使用 Excel:unknown、使用 OS:unknown >


 Option Explicit

 Sub test()
     Dim myRng As Range
     Range("A5").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, _
                 CriteriaRange:=Range("A2:A3"), _
                 Unique:=False
     Range("A5").CurrentRegion.Copy
     Set myRng = Workbooks("Book1.xlsx").Worksheets("Sheet1"). _
         Range("A4").End(xlDown).Offset(1, 0)
     myRng.PasteSpecial Paste:=xlPasteValues
     myRng.EntireRow.Delete shift:=xlUp
     Set myRng = Nothing
 End Sub
 
貼り付け先の状態がどうなのか不明確なので、自信がない部分もありますが、
Range("A5").CurrentRegionを全部コピー貼り付けして、
余分な見出しだけ削除するのがシンプルかなと。

今後はExcel、OSの情報もお願いします。
(みやほりん) 2014/01/24(金) 15:26


みやほりんさん

ありがとうございました!
希望通りに動きました!

OSなど情報伝えないまま、すみませんでした・・・><
(si) 2014/01/24(金) 17:22


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.