Макрос для поиска строки в рабочей книге, которая может быть представлена ​​несколько раз - PullRequest
0 голосов
/ 31 декабря 2010

У меня есть рабочая тетрадь, в которой 5 листов и 500 строк каждая. Я хочу макрос, который может искать строку, которая может присутствовать несколько раз в книге. Пожалуйста, помогите мне с этим.

С уважением, МДС

1 Ответ

0 голосов
/ 31 декабря 2010

Что вы хотите, чтобы он делал, когда находит строку?Неморфный метод - «Правка» - «Найти» и нажмите кнопку «Параметры».Установите «в пределах» для книги и нажмите «Найти все».Это даст вам список всех найденных строк.

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

Sub FindAll()

    Dim sh As Worksheet
    Dim rFound As Range
    Dim sFirst As String
    Dim sWhat as String

    sWhat = Application.InputBox("Search for:")

    For Each sh In ThisWorkbook.Worksheets
        Set rFound = sh.UsedRange.Find(sWhat, , xlValues, xlPart)
        If Not rFound Is Nothing Then
            sFirst = rFound.Address
            Debug.Print rFound.Address(, , , True)
            Do
                Set rFound = sh.UsedRange.FindNext(rFound)
                If rFound Is Nothing Then Exit Do
                Debug.Print rFound.Address(, , , True)
            Loop Until rFound.Address = sFirst
        End If
    Next sh

End Sub
...