Requirement:
The user wants a code to run only if any cell in column J has letter Y in it.
Solution:
Private Sub CommandButton2_Click()
If WorksheetFunction.CountIf(Range("J:J"), "Y") <> 0 Then
Dim I As Long
Set ws = Worksheets("DESPATCHED")
Application.ScreenUpdating = False
If ActiveSheet.AutoFilterMode Or ActiveSheet.FilterMode Then
ActiveSheet.ShowAllData
End If
Columns(10).AutoFilter 1, "Y"
With Range("a4", Range("I" & Rows.Count).End(3))
.Copy Sheet4.Cells(Rows.Count, 1).End(3).Offset(1)
.EntireRow.Delete
End With
Columns(10).AutoFilter
With Sheets("DESPATCHED")
I = .Range("A" & .Rows.Count).End(xlUp).Row
End With
ws.Range("G2:G" & I).Value = "Y"
Application.ScreenUpdating = True
End If
End Sub
Obtained from the OzGrid Help Forum.
Solution provided by Mumps.
See also: Index to Excel VBA Code and Index to Excel Freebies and Lesson 1 - Excel Fundamentals and Index to how to… providing a range of solutions and Index to new resources and reference sheets
See also:
| How to end a macro if cell blank or continue if populated |
| How to use a macro to copy data from multiple workbooks to one master sheet in another workbook |
| How to use a macro to run through sheet in excel and put double quotes around values |
| How to use a macro for grouping rows based on cells with same names |
| How to use a macro to pull every Nth row of data |
Click here to visit our Free 24/7 Excel/VBA Help Forum where there are thousands of posts you can get information from, or you can join the Forum and post your own questions.