У меня есть макрос VBA, который позволяет пользователю искать значение в многочисленных книгах. Результаты поиска затем отображаются в списке в форме поиска макросов. Если щелкнуть строку в этом списке, строка в соответствующей книге Excel должна активироваться и отобразиться в соответствующей ячейке. Однако я получаю ошибку 1004 в коде range.activate (rngCell.Activate), который активирует ячейку в рабочей книге. Я проверил этот код с помощью отладчика, и он не обрабатывает sh, однако он вылетает при использовании его в противном случае. Есть ли какое-либо решение, которое я мог бы использовать для этого?
Private Sub lbxFinds_Change()
'Private Sub lbxFinds_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Dim wbName As String
Dim wsName As String
Dim cellAddress As String
Dim cellContent As String
Dim Wb As Workbook
Dim Ws As Worksheet
Dim rngCell As Range
With Me.lbxFinds
If .ListIndex < 0 Then Exit Sub
If .List(.ListIndex, 0) = "Text not found." Then Exit Sub
wbName = .List(.ListIndex, 0)
wsName = .List(.ListIndex, 1)
cellAddress = .List(.ListIndex, 2)
cellContent = .List(.ListIndex, 3)
End With
Set Wb = Workbooks(wbName)
Set Ws = Wb.Worksheets(wsName)
Set rngCell = Ws.Range(cellAddress)
Wb.Activate
Ws.Activate
rngCell.Activate
Me.lbxFinds.SetFocus
Set Wb = Nothing
Set Ws = Nothing
End Sub
Это изображение формы поиска макроса поиска