Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


35476 / 76738 ←次へ | 前へ→

【46461】Re:[46222]の追加質問です・セルのコピー
発言  ichinose  - 07/2/3(土) 22:16 -

引用なし
パスワード
   ▼さや さん:
こんばんは。

>[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をコピーする。
>
> これが質問の内容です。よろしくご教授お願いします。

0 hits

【46459】[46222]の追加質問です・セルのコピー さや 07/2/3(土) 21:56 質問
【46460】Re:[46222]の追加質問です・セルのコピー かみちゃん 07/2/3(土) 22:05 発言
【46461】Re:[46222]の追加質問です・セルのコピー ichinose 07/2/3(土) 22:16 発言
【46463】Re:[46222]の追加質問です・セルのコピー さや 07/2/3(土) 23:24 お礼
【46464】Re:[46222]の追加質問です・セルのコピー かみちゃん 07/2/3(土) 23:33 発言
【46465】Re:[46222]の追加質問です・セルのコピー さや 07/2/4(日) 0:00 お礼
【46466】Re:[46222]の追加質問です・セルのコピー へっぽこ 07/2/4(日) 0:42 発言
【46467】Re:[46222]の追加質問です・セルのコピー さや 07/2/4(日) 7:11 お礼

35476 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free