willow1985
Well-known Member
- Joined
- Jul 24, 2019
- Messages
- 888
- Office Version
- 365
- Platform
- Windows
I have tried the below 2 variations of code but I cannot seem to get the macro to Exit Sub when the filtered table returns no results.
Please advise what I am doing wrong?
Code Variation 1
Code Variation 2:
Please advise what I am doing wrong?
Code Variation 1
VBA Code:
With Sheets("Chromium on Steels").ListObjects("Chromium_on_Steels_T2")
If Not .DataBodyRange Is Nothing Then
.DataBodyRange.Delete
End If
End With
Sheets("Action Item Log").Select
ActiveSheet.ListObjects(1).AutoFilter.ShowAllData
ActiveSheet.ListObjects("Action_Item_Log").Range.AutoFilter Field:=1, Criteria1 _
:="Chromium on Steels"
If ActiveSheet.ListObjects("Action_Item_Log").Range.SpecialCells(xlCellTypeVisible).Areas.Count > 1 Then
Sheets("Chromium on Steels").Select
MsgBox "No Records Found"
Exit Sub
Else
Range("B3:G" & Cells(Rows.Count, 2).End(xlUp).Row).SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Sheets("Chromium on Steels").Select
Range("Chromium_on_Steels_T2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A2").Select
End If
End Sub
Code Variation 2:
VBA Code:
With Sheets("Chromium on Steels").ListObjects("Chromium_on_Steels_T2")
If Not .DataBodyRange Is Nothing Then
.DataBodyRange.Delete
End If
End With
Sheets("Action Item Log").Select
ActiveSheet.ListObjects(1).AutoFilter.ShowAllData
ActiveSheet.ListObjects("Action_Item_Log").Range.AutoFilter Field:=1, Criteria1 _
:="Chromium on Steels"
If ActiveSheet.ListObjects("Action_Item_Log").Range.SpecialCells(xlCellTypeVisible).Areas.Count > 1 Then
Sheets("Chromium on Steels").Select
MsgBox "No Records Found"
GoTo Quit:
Else
Range("B3:G" & Cells(Rows.Count, 2).End(xlUp).Row).SpecialCells(xlCellTypeVisible).Select
Selection.Copy
Sheets("Chromium on Steels").Select
Range("Chromium_on_Steels_T2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A2").Select
End If
Quit:
End Sub