here is a macro you could try. It could be run from any sheet and will copy data on a sheet's name defined by the actual sheet name (which should be a date in a format suitable for the DateValue function) with 7 days added to it.
Please note that I had to reposition a cell in column B into column C because the macro uses a function to locate the last entry in column B and that this TITLE was in the way. You can place it where you want except in column B.
Public Sub Transfer_Data()
Dim WS_Name As String, wsSheet As Worksheet
Dim D_ate As Date, New_Date As Date, WS2_Name As String, C_ell As Range
Application.ScreenUpdating = False
WS_Name = ActiveSheet.Name
D_ate = DateValue(WS_Name)
'Next sheet name will be 7 days later
New_Date = D_ate + 7
'Here is where you define the new sheet name
WS2_Name = Day(New_Date) & " " & Left(MonthName(Month(New_Date)), 3) & " " & Year(New_Date)
'Checking if next sheet exists
On Error Resume Next
Set wsSheet = Sheets(WS2_Name)
On Error GoTo 0
If wsSheet Is Nothing Then
MsgBox "Sheet " & WS2_Name & " does NOT exist"
Application.ScreenUpdating = True
Exit Sub
End If
'Starts copying data to next sheet
For Each C_ell In Range("B9", Cells(Rows.Count, 2).End(xlUp))
If C_ell.Offset(0, 9) = "Still in Care" Then
C_ell.Resize(1, 8).Select
Selection.Copy
Sheets(WS2_Name).Cells(Rows.Count, 2).End(xlUp).Offset(1, 0).PasteSpecial
Sheets(WS2_Name).Cells(Rows.Count, 2).End(xlUp).Offset(0, 8) = "Still in Care"
C_ell.Resize(1, 1).Select
End If
Next
Application.ScreenUpdating = True
End Sub
Hope this help
Bookmarks