| 
    
     |  | >私の説明不足の点がありました。すみません。 >
 >>例えば、Sheet1のA、C列には、
 >>
 >>      A  B     C
 >> 1    1      2007/1/27
 >> 2    2      2007/1/27
 >> 3    3      2007/1/27
 >> 4    4      2007/1/27
 >> 5    5      2007/1/28
 >> 6    6      2007/1/29
 >> 7    7      2007/1/30
 >> 8    8      2007/1/31
 >> 9    9      2007/2/1
 >>10    10      2007/2/2
 >>11    11      2007/2/3
 >>12    12      2007/2/3
 >>13    13      2007/2/3
 >>14    14      2007/2/3
 >>15    15      2007/2/3
 >16
 >17
 >18
 >19
 >20
 > .
 > .
 > .
 >5000
 >
 >という具合にA列には、あらかじめ数値が入力されていて、C列に毎日、日付を入力していくというイメージです。
 >
 >よろしくお願いします。
 >
 >>そろそろループ処理の考え方に慣れていきましょう。
 であるならば、基準にする列を変えるだけです。
 Sub main()
 Dim rw2 As Long
 Dim rw1 As Long
 Dim newdate As Date
 With Worksheets("sheet1")
 rw2 = .Cells(.Rows.Count, "c").End(xlUp).Row
 '                  ↑ここをaからcに変える
 newdate = .Range("c" & rw2).Value
 For rw1 = rw2 - 1 To 1 Step -1
 If .Range("c" & rw1).Value <> newdate Then Exit For
 Next rw1
 .Range(.Cells(rw1 + 1, 1), .Cells(rw2, 1)).Copy
 Worksheets("sheet2").Range("v6").PasteSpecial xlValue
 Application.CutCopyMode = False
 End With
 End Sub
 
 でいけると思います。
 
 上記のように例を出すのは非常に良いことですよ。
 
 
 |  |