|
>私の説明不足の点がありました。すみません。
>
>>例えば、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
でいけると思います。
上記のように例を出すのは非常に良いことですよ。
|
|