BVAのコードについて質問です シート1のA列に日付が入力されているデータがあります。日付が変わるごとに空白の行が入ります A2〜空白前までの行をコピーして同じブックの別シート\u0026quot;1\u0026quot;に貼り付ける。空白の次の行から次の空白前までの行をコピーして\u0026quot;2\u0026quot;に貼り付けるというようにコピーペーストを繰り返す。というようなコードは作成可能ですか?調べても出てこなかったので詳しい方教えていただけますでしょうか。よろしくお願いします

1件の回答

回答を書く

1255765

2026-01-31 18:00

+ フォロー

素人が組む単純なコードですが、よろしければ参考まで。

1.コピペを行うシートは事前に作成されているものとします。(1~31)

2.日々の入力が行われており、その日のシートにコピペを実行する。

但し、実行されるのは月末に1度でなく適宜実行されるものと仮定しましたので、重複計上を避けるために作業列の使用を許容できればの話ですが、一度コピペされた日のデータは、作業列(暫定的にH列としました。)に「済」と書込ませるようにします。

このH列が空白でなければ、コピペ作業は実行されません。



Sub 適宜日々シートにコピペ()

Dim r As Long, rA As Long

Dim myS As String

For r = 2 To Cells(Rows.Count, \u0026quot;A\u0026quot;).End(xlUp).Row

If Cells(r, \u0026quot;H\u0026quot;).Value = \u0026quot;\u0026quot; _

And Cells(r, \u0026quot;A\u0026quot;).Value \u0026lt;\u0026gt; \u0026quot;\u0026quot; _

And Cells(r, \u0026quot;A\u0026quot;).Value \u0026lt;\u0026gt; Cells(r - 1, \u0026quot;A\u0026quot;).Value Then

myS = Day(Cells(r, \u0026quot;A\u0026quot;))

With Worksheets(myS)

Cells(r, \u0026quot;H\u0026quot;).Value = r

For rA = r To Cells(Rows.Count, \u0026quot;A\u0026quot;).End(xlUp).Row + 1

If Cells(rA, \u0026quot;A\u0026quot;).Value = \u0026quot;\u0026quot; Then

myR = .Cells(Rows.Count, \u0026quot;A\u0026quot;).End(xlUp).Row + 1

Range(Cells(r, \u0026quot;A\u0026quot;), Cells(rA - 1, \u0026quot;E\u0026quot;)).Copy .Cells(myR, \u0026quot;A\u0026quot;)

Exit For

Else

Cells(rA, \u0026quot;H\u0026quot;).Value = \u0026quot;済\u0026quot;

End If

Next rA

End With

End If

Next r

End Sub

うったえる有益だ(0シェアするブックマークする

関連質問

Copyright © 2026 AQ188.com All Rights Reserved.

博識 著作権所有