• 締切済み

VBA フォームを使って、期間でレコードを抽出するには?(Excel2003)

いつも助けていただきありがとうございます。 再質問です。(内容をまとめました。) Excel2003でデータベースを作成しました。 「日付」(B列)のところには、2008/11/18という形式で入力しています。 VBAで抽出用フォームから「○○○○年○月○日~○○○○年○月○日までを抽出」として、 該当レコードを抽出するにはどうしたらよいでしょうか? いろいろ試してはみたのですが、よい方法・アイディアができませんでした。 VBA初心者です。よろしくお願いします。 ちなみに試してみたのは、 期間抽出用フォームで、期間の始めと終わりの西暦・月・日をそれぞれ入力すると、いったんそれぞれのセルに入力され、 v5(開始月日用のセル)=T4&"/"&U4&"/"&V4(西暦・月・日がいったん入るセル) t5(終了月日用のセル)=W4&"/"&X4&"/"&Y4 としました。(表示では2008/11/19となりました。) そして、 Selection.AutoFilter Selection.AutoFilter Field:=2, Criteria1:=">=range("v5")", Operator:=xlAnd _ , Criteria2:="<=range("y5")" としたところ、エラーになりました。 どのように修正すればよいでしょうか?

みんなの回答

  • okky0707
  • ベストアンサー率22% (34/154)
回答No.3

このページを参考にしてみてください。 このサイトは初心者にお勧めです。 一通り目を通せば、ちょっとしたデータベースは簡単に作れるようになります。

参考URL:
http://www.mahoutsukaino.com/ac/ac2000/ac2000/function1/kongetsu.htm
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

http://okwave.jp:80/qa4488331.html と同じ質問でしょう。そういう場合、そちらの質問を締めるものですよ。 私は質問文のレベルから、もっと考えやすい提案をしたのだが、質問者は主旨を理解してなかったようだ。 フィルタでやるのもよいが初心者にはVBAでは難しい面はある。 (1)テキストボックスで「から・まで」の期間を入れさせると、答えは文字列で返る。これを日付シリアル値にしないといけない。この点わかってますか。 (2)>いったんそれぞれのセルに入力され、 ここが初心者らしい。変数に日付シリアル値を保持すればよいのだ。 本件では条件は文字列で指定しないとダメだが。 それに年・月・日を3つのテキストに分けないほうがやりやすいと思うが、好みかな。 初心者のうちは、条件をセルに入れさせるようにするのが良いと思う。 他人に使わせるのかな。初心者のうちから、他人に使わせる処理を VBAでやるのは何かと難しいよ。 ーー テキストボックスを2つ(「から」と「まで」の日付を入れるもの) コマンドボタンを1つ(検索開始) を、フォームに設けて Private Sub CommandButton1_Click() ft = TextBox1.Text tt = TextBox2.Text f = DateValue(ft) t = DateValue(tt) sf = Format(f, "yyyy/mm/dd") st = Format(t, "yyyy/mm/dd") MsgBox sf & "-" & st d = Range("A65536").End(xlUp).Row Range("A1:B" & d).Select '----- Selection.AutoFilter Selection.AutoFilter Field:=1, Criteria1:=">" & sf, Operator:=xlAnd, Criteria2:="<" & st End Sub ーー 上記は、フィルタのマクロの記録が中心になっている。その点難しいことは無い。その他VBAについての総合的な経験が要る。 ーーー 日付チェック オートフィルタの解除 指定日を含むかどうかで、どう演算子を変えるか など勉強のこと。

すると、全ての回答が全文表示されます。
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

>Criteria1:=">=range("v5")" パラメータ全てを””で囲んで仕舞えば、文字列として扱われてしまいます。 Criteria1:=">=" & range("v5")

すると、全ての回答が全文表示されます。

関連するQ&A