Поиск и выбор строки на рабочем листе с использованием VBA - PullRequest
0 голосов
/ 28 апреля 2020

Я знаю, что выбор не годится для использования. Однако мне нужно найти строку на другом листе и выбрать ее (она может даже выбирать и изменять цвет), чтобы пользователь мог ее видеть.

Мой код выводит меня только на лист, а не в ячейку, где находится строка, которую мне нужно найти.

Sub Risk1()
    Dim SearchString As String
    Dim SearchRange As Range, cl As Range
    Dim FirstFound As String
    Dim sh As Worksheet

    ' Set Search value
    SearchString = "1."
    Application.FindFormat.Clear

    Sheet2.Activate

    ' loop through all sheets
    For Each sh In ActiveWorkbook.Worksheets
        ' Find first instance on sheet
        Set cl = sh.Cells.Find(What:=SearchString, _
            After:=sh.Cells(1, 1), _
            LookIn:=xlValues, _
            lookat:=xlPart, _
            SearchOrder:=xlByRows, _
            SearchDirection:=xlNext, _
            MatchCase:=False, _
            SearchFormat:=False)
        If Not cl Is Nothing Then
           FirstFound = cl.Activate.cell
        End If
    Next
 End Sub

Строка, которую я ищу, может находиться в любой ячейке столбца A.

1 Ответ

0 голосов
/ 28 апреля 2020

Попробуйте это. Если это в одном листе, нет необходимости l oop через все из них. Мне до сих пор неясно, что произойдет, если значение будет найдено более одного раза?

Кстати, для этого вам не нужен VBA, именно для этого найдет лист поиска.

Sub Risk1()
Dim SearchString As String
Dim SearchRange As Range, cl As Range
Dim FirstFound As String
Dim sh As Worksheet

' Set Search value
SearchString = "1."
Application.FindFormat.Clear

With Sheets("Over").Columns(1)
    Set cl = .Find(What:=SearchString, After:=.Cells(1, 1), LookIn:=xlValues, _
                   lookat:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
                   MatchCase:=False, SearchFormat:=False)
    If Not cl Is Nothing Then Application.Goto cl 'better than select or activate and sheet does not need to be active first
End With

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...