Sub ErrorCatch2()
Dim wbPath As String, pdfName As String
Dim FndCell As Range, arr As Variant
On Error Resume Next
For Each arr In Array("WBS Description:", "Task Description:", "Method of Quoting:", "Source of Data:")
Set FndCell = Range("D:D").Find(arr, , xlValues, xlWhole).Offset(0, 1)
If FndCell.Value = vbNullString Then
If Err.Number = 0 Then
MsgBox "Please verify that all required fields have been completed." & Chr(10) & Chr(10) & "The fields required to export the BOEs are" & Chr(10) & Chr(10) & " - WBS Description" & Chr(10) & Chr(10) & " - Task Description" & Chr(10) & Chr(10) & " - Method of Quoting" & Chr(10) & Chr(10) & " - Source of Data"
FndCell.Select
Exit Sub
End If
End If
Next arr
On Error GoTo 0
pdfName = ActiveSheet.Name
wbPath = ActiveWorkbook.Path
If Not Right(wbPath, 1) = "\" Then wbPath = wbPath & "\"
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.InitialFileName = wbPath
.Title = "Select or Enter SaveAs Filename"
.Filters.Clear
.Filters.Add "PDF", "*.pdf"
If Not .Show = -1 Then Exit Sub
wbPath = .SelectedItems(1)
End With
If Not Right(wbPath, 1) = "\" Then wbPath = wbPath & "\"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
wbPath & pdfName _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=True
End Sub