- ベストアンサー
VBAで今日の行にあるセルを別シートへコピーする方法
- VBAを使用して、特定の条件に基づいて今日の行にあるセルを別のシートにコピーする方法を教えてください。
- 具体的には、Sheet1に配置されているボタン(Button1)をクリックするとマクロが起動し、データをSheet2からSheet3に貼り付ける処理を行いたいです。
- また、Sheet2のF列には日付が入っており、本日の日付の行のセルの値をSheet3の該当する列に貼り付ける方法も教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは! 一例です。 前提条件として Sheet2・Sheet3とも1行目は項目行でデータは2行目以降に入っている または2行目以降に表示する!としています。 Private Sub CommandButton1_Click() Dim i As Long, wS2 As Worksheet, wS3 As Worksheet Set wS2 = Worksheets("Sheet2") Set wS3 = Worksheets("Sheet3") For i = 2 To wS2.Cells(Rows.Count, "A").End(xlUp).Row If wS2.Cells(i, "F") = Date Then With wS3.Cells(Rows.Count, "A").End(xlUp).Offset(1) .Value = .Row() - 1 .Offset(, 1) = wS2.Cells(i, "A") .Offset(, 2) = wS2.Cells(i, "D") .Offset(, 3) = wS2.Cells(i, "G") .Offset(, 4) = wS2.Cells(i, "F") End With End If Next i End Sub ※ Sheet3の各列の表示形式は設定しておいてください(日付列など) ※ 「本日」のデータは複数ある!という前提のコードです。 ※ ループさせていますので、Sheet2のデータ量が数千・数万行の場合は 別方法(オートフィルタ当)を使った方がはやいかもしれません。 こんなんではどうでしょうか?m(_ _)m
お礼
ありがとうございます!! 大変助かりました!!! 例もあまりちゃんと挙げずに、質問してしまったのに、すばやく回答いただけて、 大変ありがとうございました! 無事に作成をすることが出来ました。 ありがとうございました。