Во-первых, если вы хотите запустить какой-либо макрос путем активации Sheet2, вам нужно обработать Activate
событие Sheet2. Это можно сделать, объявив подпрограмму в модуле Sheet следующим образом.
Private Sub Worksheet_Activate()
'Codes you want to be run when Sheet2 is activated.
End Sub
Во-вторых, простой способ найти ячейку с определенным значением - использовать WorksheetFunction.Match
. Например,
Dim SearchInRange As Range
Set SearchInRange = Range("A1:A5000")
Dim EmployeeName As Variant
EmployeeName = ... 'Actual employee name you want to search
On Error GoTo NotFound
Dim Index As Variant
Index = WorksheetFunction.Match(EmployeeName, SearchInRange, 0)
On Error GoTo 0
SearchInRange.Cells(Index).Select
GoTo Finally
NotFound:
' Handle error
Finally:
Range.Find
также может работать, но помните, что у него есть побочный эффект изменения состояния диалогового окна «Найти и заменить».