Question: What would be difference between Microservice Patterns [Transaction Log Trailing](https://microservices.io/patterns/data/transaction-log-tailing.html) vs [Polling Publisher](https://microservices.io/patterns/data/polling-publisher.html).

Looking at listed example ([Eventuate Local](https://github.com/eventuate-local/eventuate-local/)) seems that both the patterns are based on trailing database logs and publishing to message broker.

Answer: 
just *plain* use of `Autofilter()`:

```
Private Sub Summary_Click()
    Dim EMPLID As String

    EMPLID = Application.InputBox("Enter Your Employee Number", "Employee Number")

    With Sheets("Tracking Data").Range("E:E")
        .AutoFilter field:=1, Criteria1:=EMPLID
        If WorksheetFunction.Subtotal(103, .Cells) = 1 Then ' if only header row filtered -> no match found
            MsgBox "Nothing found"
            .Parent.AutoFilterMode = False ' remove AutoFilter and show all data
        End If
    End With
    Unload Me
End Sub

```

BTW I'd suggest you some little enhancements:

1. limit the searching range to the actual data extensions, instead of the whole column (some 1 million row)
2. Don't use `Unload Me` inside a UserForm code. Adopt `Hide.Me` and move `Unload Me` to the `Userform` calling sub (the one where you place some `With New MyUserform` statement or the likes)

like follows:

```
Private Sub Summary_Click()
    Dim EMPLID As String

    EMPLID = Application.InputBox("Enter Your Employee Number", "Employee Number")

    With Sheets("Tracking Data")
        With .Range("E1", .Cells(.Rows.Count, "E").End(xlUp))
            .AutoFilter field:=1, Criteria1:=EMPLID
            If WorksheetFunction.Subtotal(103, .Cells) = 1 Then ' if only header row filtered -> no match found
                MsgBox "Nothing found"
                .Parent.AutoFilterMode = False ' remove AutoFilter and show all data
            End If
        End With
    End With
    Me.Hide
End Sub

```
Another simple way to accomplish your task.

```
Private Sub Summary_Click()
Dim EMPLID As String, cl As Range

EMPLID = Application.InputBox("Enter Your Employee Number", "Employee Number")

    With Sheets("Tracking Data")
        For Each cl In .Range("E2", .Range("E" & .Rows.Count).End(xlUp))
            If Not cl.Value = EMPLID Then
                cl.EntireRow.Hidden = True
            End If
        Next cl
    End With
End Sub

```