Try with this new code. You don't find 'Mike Oliver ' because in Info sheet there is a blank at the end of the name, and you don't find 'HARRY BURKHART' because in Info sheet it's writtend without 'D' and in the sheets is written 'HARRY BURKHARDT'.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count = 1 Then
If Target.Address(0, 0) = "B8" Then
Call refreshReport
End If
End If
End Sub
Private Sub refreshReport()
Dim myRange As Range, mySh As Worksheet
Dim lastRow As Long, destRow As Long, r As Long
Dim visibleRows As Long, c As Integer
Application.EnableEvents = False
Application.ScreenUpdating = False
destRow = 10
With ThisWorkbook.Sheets("reports")
.Range("11:" & Rows.Count).ClearContents
For Each mySh In ThisWorkbook.Sheets
If InStr("ready,scheduled,inprogress,onhold,ctl,complete", LCase(mySh.Name)) > 0 Then
mySh.AutoFilterMode = False
lastRow = mySh.Cells(1, 5).CurrentRegion.Rows.Count
For r = 6 To lastRow
If mySh.Cells(r, 1) = .Range("b8") Then
destRow = destRow + 1
.Range("a" & destRow & ":l" & destRow).Value = mySh.Range("b" & r & ":m" & r).Value
End If
Next r
If destRow > 11 Then
Range("A11:N11").Copy
Range("A12:N" & destRow).PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
.Range("a11").Activate
End If
End If
Next mySh
End With
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Regards,
Antonio
Bookmarks