Я могу удалить данные на моем первом листе, но это не работает для листа 5. Я не попадаю ни в какую ошибку. Как я могу это исправить?

'Delete Function'
  Private Sub Delete_Click()
    Row = 3
    Dim lastrow As Long
    Dim StaffID As String
    lastrow = Sheets("Staff Details").Range("A" & Rows.Count).End(xlUp).Row

   StaffID = TextBox6.Text
   For Row = 3 To lastrow
   answer = MsgBox("Are you sure you wish to delete the Staff Record?", vbYesNo + vbQuestion, "Delete Staff Record")
   If answer = vbYes And Cells(Row, 1).Text = StaffID Then
    Cells(Row, 1).EntireRow.Delete

   ElseIf Cells(Row, 1).Text = StaffID Then
    Sheet5.Activate
    Cells(Row, 1).EntireRow.Delete

   End If
      Next Row
      TextBox6.SetFocus

End Sub

1 ответ1

0

Этот макрос поможет вам удалить записи из любого листа, если найдет идентификатор в столбце A, записанном в INPUT BOX.

Sub DeleteAllRow()
Dim strTodel As String
Dim colTofind As String
Dim delRows As Long
strTodel = InputBox("Enter the ID")
Do While True
 On Error GoTo Err_handle
 Range("A:A").Find(What:=strTodel, LookIn:=xlFormulas, LookAt:=xlWhole, After:=ActiveCell).EntireRow.Delete Shift:=xlUp
 delRows = delRows + 1
Loop
Err_handle:
 MsgBox "Number of Delete Rows - " & delRows
 Exit Sub
End Sub

Как это устроено:

  • Скопируйте и вставьте этот код как стандартный модуль, щелкнув значок « This Workbook Icon in VBA Project Explorer Windows .
  • Использование этого в качестве Workbook's Macro поможет вам удалить записи с любого из листов.
  • Range("A:A") является редактируемым, вы можете установить любой столбец для поиска идентификатора, чтобы удалить записи.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .