Мой код не удаляет строки, остальное все работает нормально - PullRequest
0 голосов
/ 24 августа 2018

Я выполнил приведенный ниже код для создания отдельного банковского платежного листа, все работает нормально, но он не удаляет строки ячеек со значением «Удалить» в столбце «Е».

iВо время отладки также заметил, что иногда он удаляет, а иногда нет.

, но теперь он вообще не удаляется.

, где я ошибаюсь?

Sub Create_Bank_Sheet()

Dim fname As String
Dim path As String
Dim varResponse As Variant

Application.DisplayAlerts = False

varResponse = MsgBox("Select 'Yes' or 'No' File will be Saved at  : " & Range("c43").Value, vbYesNo, "Are you sure you want to SaveAs this Sheet?")
If varResponse <> vbYes Then Exit Sub



Sheets("Bank Sheet for Payment").Select


path = Sheets("Command Center").Range("c43")

fname = Sheets("Command Center").Range("c42")
ThisWorkbook.Sheets("Bank Sheet for Payment").Copy
Application.ActiveWorkbook.SaveAs Filename:=path & "\" & fname, _
    FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False



     Cells.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False



Dim c As Range
Dim SrchRng As Range
Dim SrchStr As String

Set SrchRng = ActiveSheet.Range("e4", ActiveSheet.Range("e65536").End(xlUp))
SrchStr = "Delete"
Do
    Set c = SrchRng.Find(SrchStr, LookIn:=xlValues)
    If Not c Is Nothing Then c.EntireRow.Delete
Loop While Not c Is Nothing

ActiveWorkbook.Save

MsgBox ("File saved in " & path)



ActiveWorkbook.Close

Application.DisplayAlerts = True





End Sub

1 Ответ

0 голосов
/ 24 августа 2018

Вы неправильно настраиваете SrchRng.

Попробуйте

Set SrchRng = ActiveSheet.Range("E4:E" & ActiveSheet.Range("E65536").End(xlUp).Row)

...