Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


10442 / 13646 ツリー ←次へ | 前へ→

【21775】97でオートフィルターオプションに日付で絞り込む変数の扱いについて レミ 05/1/29(土) 19:50 質問[未読]
【21776】Re:97でオートフィルターオプションに... popon 05/1/29(土) 21:17 回答[未読]
【21777】Re:97でオートフィルターオプションに... レミ 05/1/29(土) 22:01 お礼[未読]
【21782】Re:97でオートフィルターオプションに... popon 05/1/30(日) 10:10 発言[未読]
【21840】Re:97でオートフィルターオプションに... レミ 05/2/1(火) 18:31 発言[未読]

【21775】97でオートフィルターオプションに日付...
質問  レミ E-MAIL  - 05/1/29(土) 19:50 -

引用なし
パスワード
   オートフィルターの絞込みオプション設定で、あるセルから日付を取得してオートフィルターのオプション(抽出条件の設定)に渡る日付がXPなら問題なく取得先の"yyyy/mm/dd"で渡るのですが、97ですと"2005/3/31"が"32631"とよくわからない数値が渡ってしまいます。97で日付を変数に渡す場合の方法を教えてください。
==============================================================
Dim as mytuki1s Range
Dim as mytuki1e Range
Seets("A").Select
Set mytuki1s = Range("A1")
Set mytuki1e = Range("A2")
Sheets("B").Select   
  Selection.AutoFilter Field:=6, Criteria1:=">=" & mytuki1s, Operator:=xlAnd, _
    Criteria2:="<=" & mytuki1e
===============================================================
97で上記を実行するとシートAの A1=2005/3/1 A2=2005/3/31
が mytuki1s=32631 mytuki1e=20578 となってしまうようです

  

【21776】Re:97でオートフィルターオプションに...
回答  popon  - 05/1/29(土) 21:17 -

引用なし
パスワード
   ▼レミ さん:
よくはわかりませんが、わかる範囲で。。。(^^;)

>Dim as mytuki1s Range
>Dim as mytuki1e Range

 Dim mytuki1s As Range
 Dim mytuki1e As Range の間違いかな?

でも、日付を入れるなら、
 Dim mytuki1s As Date
 Dim mytuki1e As Date でよいのでは?

したがって
 With Sheet("A")
  mytuki1s = Format(.Range("A1").Value, "yyyy/mm/dd")
  mytuki1e = Format(.Range("A2").Value, "yyyy/mm/dd")
 End With
とすればよいのでは?


>Sheets("B").Select   
 オートフィルターをかける範囲は?Sheets("B")のどの範囲?

>  Selection.AutoFilter Field:=6, Criteria1:=">=" & mytuki1s, Operator:=xlAnd, _
>    Criteria2:="<=" & mytuki1e
>===============================================================
>97で上記を実行するとシートAの A1=2005/3/1 A2=2005/3/31
>が mytuki1s=32631 mytuki1e=20578 となってしまうようです
>
>

【21777】Re:97でオートフィルターオプションに...
お礼  レミ E-MAIL  - 05/1/29(土) 22:01 -

引用なし
パスワード
   早々のご回答ありがとうございました
早速試してみましたがやはり結果は同じでした
元々XPで作成したVBAなので土台下位バージョンで実行するのは無理があるのでしょうか?この前にもコードがありますので何か影響があるのでしょうか?

オートフィルターの選択の範囲は CurrentRegion で選択したつもりです

【21782】Re:97でオートフィルターオプションに...
発言  popon  - 05/1/30(日) 10:10 -

引用なし
パスワード
   おはようございます。ponponです。
Excel97の環境がないので、確認できていませんでした。
後は、常連さんたちにお願いすると良いと思います。
では。。。。m(..)m

【21840】Re:97でオートフィルターオプションに...
発言  レミ E-MAIL  - 05/2/1(火) 18:31 -

引用なし
パスワード
   やっとわかりました
97でのオートフィルターオプションの日付はリストに有る日付は"yyyy/mm/dd"で入力できるのですが、リストにない日付はシリアル値に強制的に変更されてしまうようです。したがって取得元の日付をシリアル値にすると・・・・なんとうまくいきました。
おそらく"yyyy/mm/dd"の日付がシリアル値に変換されず分数計算結果が入ってしまったようではないかと思います。
大変お騒がせしました。

10442 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free