Поле ввода для поиска записи пользовательской формы, а затем удаления с листа? - PullRequest
0 голосов
/ 18 июня 2020

пытается найти простой способ, когда кому-то нужно удалить свою запись из данных пользовательской формы в электронной таблице. В идеале я хочу, чтобы пользователь открыл пользовательскую форму, щелкнул delete entry, а затем появилось бы поле ввода, чтобы они могли ввести свой идентификатор пользователя, а затем пользовательская форма будет искать эту строку в таблице и удалять запись.

вот оболочка того, что я пытаюсь выполнить sh:

Option Explicit
Public Sub deleteData(rngColumn As Range, strSelector As String)

Dim rngCell As Range
Dim rngToDelete As Range
Set strSelector = InputBox("Enter Employee ID")
Set rngColumn = ThisWorkbook.Worksheets("Data").Columns(3)

For Each rngCell In rngColumn
    If rngCell.Value = strSelector Then
        If rngToDelete Is Nothing Then
            Set rngToDelete = rngCell
        Else
            Set rngToDelete = Union(rngToDelete, rngCell)
        End If
    End If
Next

If Not rngToDelete Is Nothing Then
    rngToDelete.EntireRow.Select
End If

End Sub

Но он ничего не делает, когда я пытаюсь нажать кнопку

1 Ответ

0 голосов
/ 18 июня 2020

Вот простой код для поиска ввода пользователя и удаления строки. Чтобы добавить макрос, двойной щелчок по кнопке UserForm в режиме разработки автоматически создаст событие Click. Вставьте этот код в окно кода.

    'Assign the worksheet variable
    Dim ws As Worksheet: Set ws = ThisWorkbook.Worksheets("Data")

    'Assign the InputBox search string variable
    Dim srchID As String: srchID = InputBox("Enter Employee ID")

    'Assign a range variable to the cell where the search string is found
    Dim trgtCel As Range: Set trgtCel = ws.Range("C:C").Find(What:=srchID, LookIn:=xlValues, lookat:=xlWhole)

        'Delete the trgtCel row containing the Employee's Information
        trgtCel.EntireRow.Delete
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...