|
>ただ良くわからないのが、「Criteria1:=割引日」の部分で、
>割引日という変数はVariant型で、テキストボックスに「3/16」のような形で
>入力してそれを格納し、その日付でオートフィルタをかける、
日付の扱いには注意が必要です。
まず
割引日 = TextBox1.Value
ですが、TextBox1.Value は、文字列を返すので
変数 割引日 は
Dim 割引日 As String
とします。
しかし、シート上のフィルタする対象が日付の場合、
セルに入力されているのは、シリアル値といって日付型の値です。
つまり 1900/1/1 を 1 として、 +1日ごとに +1 される
連続したただの数値なのです。
それを表示形式で yyyy/m/d のように表示しているだけなのです。
なのでフィルタのキーワードは、シリアル値(日付型)で指定する必要があります。
入力が 3/16 だと、 年 の指定がないので、対応できません。
もし、入力を m/d でおこなうなら
セルの日付を文字列にするしかありません。
セルを日付型にしておくなら、「年」の入力が必要です。
しかし、年 が固定なら
Textbox1.text = "3/16"
割引日 = cdate("2004" & Textbox1.text)
にすれば出来るかと思います。
cdate は、 日付型に変換する関数です。
|
|