dポイントプレゼントキャンペーン実施中!

ご存知の方、教えてください。

フィルタの条件を、マクロ実行時に入力できる仕組みを作成したいと思うのですが、うまくいきません。
あるリストから、「売上日」フィールドを使って「○月○日」~「○月○日まで」という抽出を試みました。
inputboxを使えばいいような気がしたので、最初に
hiduke1、hiduke2を変数指定しておき、
hiduke1 = inputbox("抽出開始日を入力してください)
としました。

そして、フィルタの抽出条件に
criteria1 := "<=hiduke1"
と指定したところ、抽出結果が0件でした・・・。
さらに
criteria1 := <= hiduke1
とダブルクォーテーションを取ったところ、「コンパイルエラー」が出てしまいました。
・抽出条件に変数を使用したい。
・criteria1,criteria2プロパティでは不等号をどのようにあらわすのか。

以上2点、よろしくお願いします。

A 回答 (2件)

以下のように記述したら動作しましたが、いかがでしょう。



Dim hiduke1 As String, hiduke2 As String

Selection.AutoFilter

hiduke1 = InputBox("日付1入力")
hiduke2 = InputBox("日付2入力")

Selection.AutoFilter Field:=1, Criteria1:=">" & hiduke1, Operator:=xlAnd, Criteria2:="<" & hiduke2

ちなみに日付入力は"2003/12/20"のように入力しました。
    • good
    • 1
この回答へのお礼

すばやいご回答、ありがとうございました!

できました!!

○Criteria1:=">" & hiduke1

---ダブルクォーテーションの場所が間違っていたみたいです!

今後ともよろしくお願いします。

お礼日時:2003/12/26 18:16

3点問題があると思うのですが、


・ダブルクォーテーション内の変数が展開されていないのでは
 "<=" & hiduke1 とか?
・入力された値をそのまま格納するだけでは、大小比較できないのでは
 シリアル値にする一手間が必要?
・メソッドが不等号をサポートしていないのでは

少し違うやり方を考えられるべきでしょうね。
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございました!

No.1の方の回答でうまくいきました。
ダブルクォーテーションを付ける場所を間違っていたみたいです。

今後ともよろしくお願いします。

お礼日時:2003/12/26 18:17

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