[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『自動的に日にちの若い順に入力されるように』(名無し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の非表示を元に戻すには、「フィルタ」→「すべて表示」を選択して下さい。
この処理も「マクロの記録」で行い、コードをマクロの続きに貼り付ければ、
自動化できます。(すーさん)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.