アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは、またまたわからないので教えてくださいませ<(_ _)>

Sub 二日前を抽出()
With ActiveSheet
.ListObjects("テーブル1").Range.AutoFilter _
Field:=2, _
Criteria1:="=" & Format(Date - 2, "m月d日")
End With
End Sub

というようなマクロをつくっているのですが、去年の2日前の日付も抽出してしまいます。

そこで
"yyyy/m/d" としてみたのですがそれでもうまくいきません。

日付の列は別のブックからの日付列の参照の式がはいっており、
書式設定でm月d日というように表示しています。

A 回答 (2件)

日付抽出用に列を追加し、そこに上記で使用している日付を参照する式を入れます。


表示形式はyyyy/m/dにしておき、その列をもとに二日前の日付を指定してフィルタしてみては
いかがでしょうか。

Excel2013以降だと、AutoFilterで指定する日付は、セルに表示されている形式でしか
指定できないようなので、月日指定のみだと、別の年のデータも抽出してしまいます。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。やはり書式設定後の月日からしか抽出は無理なのですね。年月日列を足して非表示にしてやることにします。ありがとうございました^^

お礼日時:2018/03/13 10:45

やり方が分からない時は「マクロの記録」を行ってみると良いですよ。


とりあえず、2日前の日付でフィルタすると次のようなマクロが生成されました。

Sub Macro1()
ActiveSheet.ListObjects("テーブル1").Range.AutoFilter Field:=2, Operator:= _
xlFilterValues, Criteria2:=Array(2, "3/11/2018")
End Sub

これをちょっと変えれば、出来上がりです。
なぜCriteria2?1はどうなった?Array(2, "3/11/2018")の2って何よ?みたいな疑問は山積みですが、そんなのどうでも良いのであれば、お試しください(わかる方がいれば、補足して頂けるとありがたいです)。

Sub sample()
ActiveSheet.ListObjects("テーブル1").Range.AutoFilter Field:=2, Operator:= _
xlFilterValues, Criteria2:=Array(2, Date - 2)
End Sub
    • good
    • 0
この回答へのお礼

やってみたのですが抽出できませんでした。回答ありがとうござました^^

お礼日時:2018/03/13 10:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!