• ベストアンサー

コンボボックスに○○○○年○月を表示させたい

オートフィルタの抽出条件に日付を指定したいのですが、 現状ではTextbox1に開始日yyyy/mm/dd、Textbox2に終了日yyyy/mm/dd と入力しています。 これを2008年1月、2008年2月・・・・と、 選択できるようにしたいです。 例えば、2008年6月を選択し場合、開始日2008/6/1、終了日2008/6/30 と出来るようにしたいのです。 どなたかコードのヒントをいただけないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • keirika
  • ベストアンサー率42% (279/658)
回答No.1

Sheet1にコントロールツールボックスでコンボボックスを作成することを前提とします。 まず、コンボボックスへのデータセット用として Sub DataSet() Dim i As Integer Sheet1.ComboBox1.Clear For i = 0 To 60 Sheet1.ComboBox1.AddItem _ (Format(DateSerial(2008, 1 + i, 1), "yyyy年m月")) Next i End Sub これは2008年1月から60ヶ月分です。 次にオートフィルターですが、Sheet1のA列に日付が入力されていることを前提とします。 Sub DataSelect() Dim strDate As Date Dim endDate As Date strDate = DateValue(Sheet1.ComboBox1) endDate = DateSerial(Year(strDate), Month(strDate) + 1, Day(strDate)) - 1 Range("a1").AutoFilter _ Field:=1, _ Criteria1:=">=" & strDate, _ Operator:=xlAnd, _ Criteria2:="<=" & endDate End Sub 適宜必要な箇所は変更してください。

mimoule1998
質問者

お礼

ありがとうございました。 うまく動かすことが出来ました。

その他の回答 (1)

  • wisemac21
  • ベストアンサー率39% (171/429)
回答No.2

オートフィルタは「表示値」で抽出されます。 オートフィルタの日付の列の表示形式を「yyyy"月"/m"月"」に変更して、オートフィルタ矢印のリストから「2008年6月」を選択すれば抽出できます。 必要に応じて、表示形式で対応するのはどうですか?

関連するQ&A

  • エクセルで年、月をカウントする

    皆さんこんにちは。 エクセルに関して2つの質問があります。 【1】    A    B 1  山田  2003/10/5 2  佐藤  2003/11/6 3  鈴木  2005/7/22 4  岡田  2006/2/9 5  松本  2006/4/4    とあるとき 2003年のセルはいくつあるか? ~ 2006年のセルはいくつあるか? という年別での個数を C1 に出したいのです。 日付の表示はyyyy/mm/ddでお願いします。 また 2003年1月のセルはいくつあるか? ~ 2003年2月のセルはいくつあるか? など月別も D1 に出したいです。 C1、D1にどんな数式を入れればカウントできるでしょうか? 【2】 上記の場合、B列に並ぶyyyy/mm/ddの中から『オートフィルタ』を使い 2003年をすべて 2003年1月をすべて を出すとき、「オプションの抽出条件の指定」は 何を指定すればよいのでしょうか? 解法をご教示ください。マクロは分かりません。 どうぞよろしくお願い致します。

  • Excel2010のコンボボックスについて

    ActiveXコントロールのコンボボックスについて質問です。 ListFillRangeに一番上に文字列・以下は日付の入ったセル(日付の書式はyyyy/mm/dd)を設定しています。 コンボボックスで選択する際にリストの表示は設定したセルの通りなのですが、日付を選択するとコンボボックスのテキストエリア?の表示が標準に(41172のように)なってしまいます。 これをyyyy/mm/ddのように表示することは可能でしょうか? プロパティのどこをどのようにしたら良いのでしょうか? お願いします。

  • エクセル 年月日を入力している列から指定月を抽出

    以下のように、月日をyyyy/mm/ddで入力している列から、1月のもの、2月のものと、指定した月のものだけを抽出したいです。 オートフィルタのオプションで、どのように指定すれば抽出できるのでしょうか。 よろしくお願いします。 ---------- A ---------- 1967/10/07 1963/02/23 1978/11/22    ←これらから1月のものだけ抽出 1951/01/24 1973/06/18 1974/01/08 ----------

  • 日付・時刻型の条件抽出方法について教えてください。

    1.accessで日付・時刻型(yyyy/mm/dd hh:nn:ss)のデータを持つフィールドから、between関数or<>の式で期間を抽出する。 2.[開始日]と[終了日]をパラメータorフォームのテキストボックスに入力して、期間抽出する。 3.[開始日]、[終了日]は日付のみ入力したい(yyyy/mm/dd)。 4.その際、[終了日]は入力した日付の00:00:00を持つレコードしか抽出されず、同日で以降の時間を持つレコードは抽出外になってしまう。 という問題を抱えています。 [終了日]に"+1"を加えたのですが、"式を評価することができません"が返ってきます。 上記を解決できる方法ご存知の方、教えていただけますでしょうか? よろしくお願いします。

  • アクセス2007 複数フィールドで最古日を表示

    以下のテーブルがあります。  フィールドA=受注日付 (日付型 yyyy/mm/dd)  フィールドB=申込日付 (日付型 yyyy/mm/dd)  フィールドC=着手日付 (日付型 yyyy/mm/dd)  フィールドD=”ここに関する質問です。”(日付型 yyyy/mm/dd)  フィールドA~Cの中で、一番昔の日付レコードをフィールドDに表示させるための関数の入れ方が分かりません。  単一フィールドにあるレコードで、最古日、最新日を抽出する方法はほかの質問でも挙がっているのですが、複数フィールドの中から選択肢、新たなフィールドに表示させる方法が中々見当たらず質問させていただきました。  例)   [A]      [B]    [C]       [D] 2011/11/1  2012/1/1 2012/3/1  → 2011/11/1  ※A~Cの中で一番古いのは「A」なので、DにAの日付を表示させる。 何方かご教授、よろしくお願いいたします。

  • Excelの年・月・日・曜日の書式

    excel2013を使用中です。 yyyy"年"mm"月"dd"日""("aaa")" yyyy"年"mm"月"dd"日("aaa")" yyyy"年"mm"月"dd"日"(aaa) 上記の式、検索する出てきます。どれも結果は同じになります。 なんで、このように複数の書式があるのでしょうか? また、一般的な書式はどれなんでしょうか? また、「”」は、和文を表記する時に、囲む記号なのでしょうか? 私はレベル的には、初心者です。

  • エクセルの年、月、日のそれぞれのセルをつなげて表示したい

    エクセルで年月日の"YYYY""MM""DD"が、別々のセルに入っているものをつなげてYYYY/MM/DDと表示したいのですが、どのようにすればよいのでしょうか。 月と日は、一桁のとき 2 など、1桁で表示されています。 例) A1=1980、A2=、A3=6 を、1980/02/06 と表示したいです。 どうかよろしくお願いいたします。

  • Excelでセルの表示形式を「yyyy年mm月」から「yyyy/mm/dd」へ

    エクセルで数式をあてはめて6ヶ月後の日にちを「yyyy年mm月」形式で出しているセルがあります。その該当月に作業をしたら、作業日をセルに上書きで入力するのですが、手入力によって「yyyy/mm/dd」形式で入れたいのです。 今、セルの表示形式が「yyyy年mm月」なので、手入力で入れても「yyyy年mm月」としかならず、「yyyy/mm/dd」にするためにセルの書式設定→表示形式の変更を行っている状態です。「yyyy年mm月」形式を解除したいのですが、Delボタンでは入力された数値しかクリアーされず、形式は残ってしまいます。「yyyy年mm月」を解除して「標準」または「yyyy/mm/dd」にもっていく簡単な方法はありますでしょうか?

  • ACCESS日付形式について質問です。

    日付抽出条件を含んだフォームを作成したのですが、午前中までyyyy/mm/ddの形式で入力し、抽出できたのですが、今mm/ddの形式で入力しないと抽出できなくなりました。 変更をした覚えはないのですが・・・ yyyy/mm/ddで抽出できる方法を教えてください。 おねがいします。

  • VBAでオートフィルタを使った抽出がうまくいきませんのでどなたか教えて

    VBAでオートフィルタを使った抽出がうまくいきませんのでどなたか教えてください。 A列、C列に日付が入っていて、A列は空白以外のセルを表示し、かつC列は、開始日、終了日で抽出したいのですが、うまくいきません。 With Worksheets("sheet").Activate 開始日 = ">=" & TextBox1.Text 終了日 = "<=" & TextBox2.Text .Range("A1:N200").AutoFilter Field:=1, Criteria1:="<>" .Range("A1:N200").AutoFilter Field:=3, _ Criteria1:=開始日, Operator:=xlAnd, _ Criteria2:=終了日

専門家に質問してみよう