こんばんは!
2日目の
>3・〔表1〕のデータを消去する
は
>3・〔表2〕のデータを消去する
だと解釈しての一例です。
表1はSheet1・表2はSheet2にあり、Sheet3にまとめるようにしてみました。
「初日」と「二日目」の二つのマクロになりますので、「初日」のマクロから実行してみてください。
Sub 初日()
Dim i, j, k As Long
Dim ws1, ws3 As Worksheet
Set ws1 = Worksheets(1)
Set ws3 = Worksheets(3)
j = ws1.Cells(Rows.Count, 7).End(xlUp).Row
k = ws3.Cells(Rows.Count, 2).End(xlUp).Row
Application.ScreenUpdating = False
If k > 5 Then
Range(ws3.Cells(6, 2), ws3.Cells(k, 6)).ClearContents
End If
ws3.Columns(5).NumberFormatLocal = "yyyy-m-d"
For i = 6 To j
If WorksheetFunction.CountIf(ws3.Columns(2), ws1.Cells(i, 7)) = 0 Then
With ws3.Cells(Rows.Count, 2).End(xlUp).Offset(1)
.Value = ws1.Cells(i, 7)
.Offset(, 3) = ws1.Cells(i, 8)
.Offset(, 4) = 1
End With
End If
Next i
k = ws3.Cells(Rows.Count, 2).End(xlUp).Row
Range(ws3.Cells(6, 2), ws3.Cells(k, 6)).Sort key1:=ws3.Cells(5, 5), _
order1:=xlDescending, _
key2:=ws3.Cells(5, 2), order2:=xlAscending
i = ws1.Cells(Rows.Count, 7).End(xlUp).Row
Range(ws1.Cells(6, 7), ws1.Cells(i, 8)).ClearContents
Application.ScreenUpdating = True
End Sub
Sub 二日目()
Dim j, k As Long
Dim ws2, ws3 As Worksheet
Set ws2 = Worksheets(2)
Set ws3 = Worksheets(3)
Application.ScreenUpdating = False
For j = 6 To ws2.Cells(Rows.Count, 7).End(xlUp).Row
If WorksheetFunction.CountIf(ws3.Columns(2), ws2.Cells(j, 7)) Then
k = WorksheetFunction.Match(ws2.Cells(j, 7), ws3.Columns(2), False)
With ws3.Cells(k, 5)
.Value = ws2.Cells(j, 8)
.Offset(, 1) = ws3.Cells(k, 6) + 1
End With
Else
With ws3.Cells(Rows.Count, 2).End(xlUp).Offset(1)
.Value = ws2.Cells(j, 7)
.Offset(, 3) = ws2.Cells(j, 8)
.Offset(, 4) = 1
End With
End If
Next j
k = ws3.Cells(Rows.Count, 2).End(xlUp).Row
Range(ws3.Cells(5, 2), ws3.Cells(k, 6)).Sort key1:=ws3.Cells(5, 5), _
order1:=xlDescending, _
key2:=ws3.Cells(5, 2), order2:=xlAscending
j = ws2.Cells(Rows.Count, 7).End(xlUp).Row
Range(ws2.Cells(6, 7), ws2.Cells(j, 8)).ClearContents
Application.ScreenUpdating = True
End Sub
※ 別Sheetでマクロを試してみてください。
※ 的外れならごめんなさいね。m(_ _)m
お礼
tom04様 ありがとうございました。 2日目の >3・〔表1〕のデータを消去する は >3・〔表2〕のデータを消去する だと解釈しての一例です。 ●申し訳ございません、当方の間違いでした。 最初に三枚のシートで作成しました。 次に一枚のシートで作成しました。 いずれも、考えていましたように作成することが出来ました。 此れもご指導のおかげと感謝いたします。 一枚のシートでの作成をしておりましたので、御礼が遅くなりお詫び申し上げます。 今後ともご指導のほど宜しくお願い致します。