Как добавить сообщение о том, что отфильтрованный параметр не существует - PullRequest
0 голосов
/ 30 апреля 2018

Я написал следующую функцию для фильтрации по рабочим листам. Работает нормально, но я не могу сообщить пользователю, что введенный параметр не существует. Я ищу некоторую помощь по этому вопросу. Вот моя функция:

    Public Function filterSheets(Sheets As Worksheet, searchRange As String, operator As String, filterString As String)

'This function is used to filter sheets by deleting any rows
'that do not contain the value stated in variable filterString


Dim lngLastRow As Long

    Application.ScreenUpdating = False

    With Sheets

        lngLastRow = GETLASTROW(.Cells)

        If lngLastRow > 1 Then
            'we don't want to delete our header row
            With .Range(searchRange & lngLastRow)

                    .AutoFilter Field:=1, Criteria1:=operator & filterString


                    .EntireRow.delete
            End With
        End If
    End With

    Application.ScreenUpdating = True

End Function

Вот процедура, которая использует мою функцию:

Sub filterSheets

For Each ws In Sheets(Array("Return to Work Report", "New Leaves Report"))

filterRange = ("H2:H")
compOperator = "<>"
filterString = locationCode

    Call filterSheets(ws, filterRange, compOperator, filterString)

       Next ws

End Sub

Спасибо

1 Ответ

0 голосов
/ 30 апреля 2018

Вы можете проверить существующие строки, так как вы удаляете только элементы.

Dim lr as long, lra as long
lr = cells(rows.count,1).end(xlup).row

    'do all of your other code

lra = cells(rows.count,1).end(xlup).row
If lr=lra then msgbox("Your criteria can't be filtered.")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...