|
▼さや さん:
こんばんは。
>[46222]での質問では、下記の回答を ichinoseさんより頂きました。大変、お世話になりました。
>
>今回は、下記のような追加コードを希望しています。
>
>[46222]の内容
>
>次のようなプログラムを希望しています。
>
>1.A列に数値が入力されています。数値は昇順で、連番です。 (ダブりはありません)
>
>2.A列に対応して、C列に日付が入力されます。これも昇順ですが、ダブりがあります。
>
>例えば、2007/1/1がC1からC10に同じく入力、2007/1/27がC50からC54に入力されています。
>
>3.A列を、下記の条件でsheet2のV列のセルV6を先頭とするセルにコピーしたい。
>
>条件・・C列に入力される最新の日付(1番新しい日付)に対応している、A列のセルだけをコピーする。
>
> 2.の例だとA50からA54だけをコピーする。
>
>
>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
if rw1+3<=rw2 then
.Range(.Cells(rw1 + 3, 1), .Cells(rw2, 1)).Copy
Worksheets("sheet2").Range("v6").PasteSpecial xlValue
Application.CutCopyMode = False
end if
'こんなところでしょうか!!
'でも、 2007/1/27が C53とC54だけだったらどうするのですか?
'上記のコードはその時はコピーしていません
> End With
>End Sub
>
>追加質問
>
> 上記の該当するA列のセルのうち「上から3番目のセルから最終セルまで」をsheet2のセルC2を先頭とする列にコピーしたい。
> 上記の例だと、A52 A53 A54をコピーする。
>
> これが質問の内容です。よろしくご教授お願いします。
|
|