素人が組む単純なコードですが、よろしければ参考まで。
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