[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『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.