advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 13164 for 日付 (0.003 sec.)
[[20140707105659]]
#score: 2423
@digest: 225525a5da5b5075b7810e092e67ce29
@id: 65566
@mdate: 2014-07-10T08:41:09Z
@size: 6249
@type: text/plain
#keywords: 月ボ (15535), 前() (11983), 月前 (11236), 付範 (6297), 細設 (4385), criteria2 (4232), smallscroll (3890), ヶ月 (2575), operator (2496), 日前 (2445), 2014 (2356), 日付 (1963), 本日 (1877), (ha (1815), 詳細 (1800), macro1 (1676), format (1629), 抽出 (1579), activewindow (1538), criteria1 (1442), ルタ (1382), yyyy (1225), フィ (1158), autofilter (1137), ィル (1102), 範囲 (1074), activesheet (1034), macro (1021), クシ (951), の範 (827), 今日 (821), 記録 (801)
日付からの抽出』(ももんが)
お世話になっております。 Sheet1は1行目A列より「日付」「ID」「氏名」とタイトルがあります。2行目からデータを入力していくデータベースの形です。 Sheet1のデータをSheet2に抽出したいと思っております。抽出方法は、日付範囲指定、本日から3ヶ月前の範囲、本日から6ヶ月前の範囲ができればと思っているのですが、何か良い方法はあるでしょうか。マクロは少しだけ経験があります。 ネットで検索しましたが、日付の抽出は難しいというのがわかっただけで、うまく見つけることができませんでした。 どうぞよろしくお願いいたします。 < 使用 Excel:Excel2007、使用 OS:Windows7 > ---- フィルタの詳細設定で、日付を指定して抽出するのはどうですか? (HANA) 2014/07/07(月) 11:36 ---- (HANA)様、ありがとうございました。先日、やっと2007になったばかりでこんな便利な機能があるとは思いませんでした。(2003の時はこんな感じではなかった気がします) もしお分かりになればですが、これをマクロですることは可能でしょうか?例えばA1とB1に日付を入れるとその範囲を抽出、3ヶ月ボタンを押すと本日から3ヶ月前の範囲を抽出できれば理想的と思っております。 上記の方法でも非常に助かっておりますので、お時間あれば教えていただけたらと思っております。 ずうずうしいお願いで大変申し訳ありません。 (ももんが) 2014/07/07(月) 15:10 ---- 2003の時は「フィルタオプションの設定」って名前でした。 マクロにするのは、基本的にはマクロの記録で出来ます。 >A1とB1に日付を入れるとその範囲を抽出 >3ヶ月ボタンを押すと本日から3ヶ月前の範囲を抽出 これは、ボタンを二つ作る と言う事で良いですか? また、結果はどこに表示しますか? 合わせて、手作業でやった操作をマクロの記録にとって 出来たコードをこちらにのせてもらえますか? (HANA) 2014/07/07(月) 16:05 ---- (HANA)様、お返事ありがとうございます。マクロで記録をした結果を以下に掲載します。 結果はSheet2に抽出をしたいと思っております。ボタンは2つの予定です。 3ヶ月前の範囲を指定。 Sub Macro5() ' ' Macro5 Macro ' ActiveSheet.Range("$A$1:$C$157").AutoFilter Field:=1, Criteria1:= _ "<2014/7/7", Operator:=xlAnd, Criteria2:=">=2014/4/7" Range("A8:C98").Select Selection.Copy Sheets("Sheet2").Select Range("A2").Select ActiveSheet.Paste End Sub 日付の範囲指定 Sub Macro6() ' ' Macro6 Macro ' ActiveSheet.Range("$A$1:$C$157").AutoFilter Field:=1, Criteria1:= _ ">=2014/4/1", Operator:=xlAnd, Criteria2:="<=2014/7/31" Range("A2:C157").Select Selection.Copy Sheets("Sheet2").Select ActiveSheet.Paste ActiveWindow.SmallScroll Down:=-18 End Sub よろしくお願いいたします。お忙しいのにありがとうございます。 (ももんが) 2014/07/07(月) 18:31 ---- オートフィルタではなく、フィルタの詳細設定です。 ・結果は別シートに表示 ・日付の範囲を指定したい と言う事であれば、フィルタの詳細設定を使ってもらう方が良いと思います。 そちらも確認してみて下さい。 別シートに結果を表示する場合は、結果を表示したいシートがアクティブな状態から 設定を開始して下さい。 まずは、載せてもらったコードで話を進めますが 日付の部分とか コピーする範囲が そのつど変わってきますよね。 オートフィルタの範囲〜Range("$A$1:$C$157")〜 や コピーする範囲〜Range("A2:C157")〜 は、大雑把ですが A:C列全体 Range("A:C") と言う事にします。 日付は、Date関数で 今日の日付が取得できます。 ワークシート関数の =TODAY() みたいな感じです。 それを使って「"<2014/7/7"」と言う文字を作ります。 ワークシート上で ="<"&TODAY() と式を入れると "<2014/7/7" になってくれそうですが 実際は、"<41827" になってしまいます。 VBAでも同じなので、Format関数で日付を yyyy/m/d の形に直したものと "<" をくっつけます。 ワークシート関数の TEXT関数の様に使用します。 "<" & Format(Date, "yyyy/m/d") ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾この部分が "2014/7/7"になる。 3か月前は、一月30日とみなして 90日前にします。 もっと厳密に3ヶ月前の指定が必要なら 変更が必要です。 90日前の日付は Date - 90 で求められますので ワークシート上でも =TODAY()-90 で、90日前の日付が求まりますよね。 やはりこちらも Format関数で日付に直した後 ">=" とくっつけます。 抽出が済んだら、A:C列をコピーして Sheet2のA1セルからはりつけます。 後は、オートフィルタの設定を解除して終了します。 '------ Sub 三か月前() ActiveSheet.Range("A:C").AutoFilter Field:=1, _ Criteria1:="<" & Format(Date, "yyyy/m/d"), Operator:=xlAnd, _ Criteria2:=">=" & Format(Date - 90, "yyyy/m/d") Range("A:C").Copy Sheets("Sheet2").Range("A1") ActiveSheet.AutoFilterMode = False End Sub '------ Sheet2(抽出結果を貼り付けたシート)をアクティブにして終わるのが 親切だと思いますが、オートフィルタの方に関してはこの程度で フィルタの詳細設定の方に重きを置きたいと思います。 (HANA) 2014/07/08(火) 09:23 ---- (HANA)様、丁寧な説明までありがとうございます。詳細設定でのマクロの記録を下記に記載します。 Sub Macro1() ' ' Macro1 Macro ' Sheets("Sheet1").Columns("A:C").AdvancedFilter Action:=xlFilterCopy, _ CriteriaRange:=Range("Sheet1!Criteria"), CopyToRange:=Range("A1"), Unique _ :=False ActiveWindow.SmallScroll Down:=-12 End Sub 検索条件はsheet1のE1、F1がタイトルでE2に>=2014/4/1、F2に<=2014/7/31を入力してsheet2をアクティブにした 状態で実行しました。よろしくお願いいたします。 (ももんが) 2014/07/08(火) 11:53 ---- 記録でできたコードは、E2,F2に条件(日付)を入力して 実行すれば、抽出されますよね。 たとえば、三か月ボタンが押されたら E2に ">=" & 3か月前の日付 F2に "<=" & 今日の日付 を入力後、Macro1を実行 という流れになれば良いと思います。 '------ Sub フィルタの詳細設定で三か月前() Range("E2").Value = ">=" & Format(Date - 90, "yyyy/m/d") Range("F2").Value = "<=" & Format(Date, "yyyy/m/d") Call Macro1 End Sub '------ Macro1の最後の行「ActiveWindow.SmallScroll Down:=-12」は 不要であれば削除してもらうと良いと思います。 (HANA) 2014/07/09(水) 12:52 ---- (HANA)様、ありがとうございました。 思い通りのものができました。大変助かりました。 (ももんが) 2014/07/09(水) 16:40 ---- 出来ましたか、よかったです。 日付範囲の方も大丈夫ですか? あとは、 日付範囲の片方だけ入力がある状態で実行した時 ・開始日にSheet1の最小値を入れる ・終了日に今日の日付を入れる とか、 何件あるかメッセージを表示する とか出来たら良いかもしれません。 (HANA) ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/201407/20140707105659.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97037 documents and 608190 words.

訪問者:カウンタValid HTML 4.01 Transitional