Hi
Using the example file, see how this goes.
Sub aaa()
Dim DataSH As Worksheet, OutSH As Worksheet
Set DataSH = Sheets("Daily")
Application.ScreenUpdating = False
DataSH.Activate
For i = 3 To Cells(Rows.Count, 1).End(xlUp).Row
'fill blank cells if required
If IsEmpty(Cells(i, 1)) Then Cells(i, 1).Value = Cells(i - 1, 1).Value
If IsEmpty(Cells(i, 2)) Then Cells(i, 2).Value = Cells(i - 1, 2).Value
On Error Resume Next
Set OutSH = Nothing
Set OutSH = Sheets(Cells(i, 1).Value)
On Error GoTo 0
If OutSH Is Nothing Then
Sheets.Add after:=Sheets(Sheets.Count)
ActiveSheet.Name = DataSH.Cells(i, 1).Value
Set OutSH = ActiveSheet
DataSH.Activate
OutSH.Cells(1, 1).Value = "DATE"
OutSH.Cells(1, 2).Value = DataSH.Cells(2, 2).Value
OutSH.Cells(1, 3).Value = DataSH.Cells(2, 3).Value
End If
outrow = OutSH.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
OutSH.Cells(outrow, 1) = Range("A1")
OutSH.Cells(outrow, 2).Value = Cells(i, 2).Value
OutSH.Cells(outrow, 3).Value = Cells(i, 3).Value
Next i
Application.ScreenUpdating = True
End Sub
rylo
Bookmarks