|
▼IROC さん:
>>ただ良くわからないのが、「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 は、 日付型に変換する関数です。
お返事遅くなってしまい大変申し訳ありませんでした。
どうもありがとうございます。
元データの日付を最初は文字列にしていたのですが、日付にしてみたら抽出できました。
・・・ただ、12か月分のデータの割引日に対してフィルタをかけるという意図なんですが、4月分だけ、”H1"ではなく、2行目の全ての列でオートフィルタのボタンが表示されてしまうという現象が起きています。
これはいったいどういうことなんでしょう??
せっかく出来たと思ったのに、またはまってしまいました・・・
|
|