『自動的に日にちの若い順に入力されるように』(名無し181) お力をお貸し下さい。お願いします。  1 A1/9 B1/9 C1/9 D1/10 E1/10 F1/15 という表を別のsheetに、自動的に日にちの若い順に入力されるようにしたい。 <sheet2>  1   2  3 A1/9 1/10 1/15 ---- 回答するために、少し確認させてください。 Sheet1では、日付がA列からF列の1行目に入っていて、 Sheet2ではA列の縦に並べるということですか? それとSheet1の日付は、横に増えていく可能性があるのでしょうか? 日付以外の2行目以降には、どんなデータが入っているのでしょうか? 重複日付をまとめるということは、日付以外のデータを無視するということですか? そのデータを、Sheet2に複写する必要はないのですね。 解決策のためには、Sheet1のデータの縦横を入れ替えることは可能ですか?(すーさん) ---- シート1に 1/9     大阪 1/9     京都 1/9     大阪 1/10    大阪 1/10    京都 1/11    京都 っというA列に日付、B列に納入先が入力されている表があります。 それを、シート2で       大阪    京都 1/9     2      1 1/10    1      1 1/11    0      1 っというように、自動で日付の若い順に表示されるようにしたい。あとは、CUNTIF で、計算してあります。 よろしくお願いします。 ---- 日付の範囲を選択して、メニューバーの「データ」→「フィルタ」→「フィルタオプションの設定」を開いて 「重複するレコードは無視する」にチェックを入れて「OK」をクリックすると、 重複日付が非表示になります。 その日付範囲をコピーして、シート2に貼り付けるというのはどうですか? その手順を「マクロの記録」で名前を「日付の整理」として登録して、 日付の範囲が増えることを考え、A列全部を「コピー&貼り付け」に直したのが 下のコードです。 ためしてみて下さい。 Sub 日付の整理() '重複日付を非表示にする Sheets("シート1").Select Application.CutCopyMode = False Columns("A:A").AdvancedFilter Action:=xlFilterInPlace, Unique:=True Range("A:A").Select Selection.Copy 'シート2に貼り付ける Sheets("シート2").Select Range("A1").Select ActiveSheet.Paste          ←後から「非表示を元に戻す」処理を挿入することも可能です End Sub シート1の非表示を元に戻すには、「フィルタ」→「すべて表示」を選択して下さい。 この処理も「マクロの記録」で行い、コードをマクロの続きに貼り付ければ、 自動化できます。(すーさん)