Это работало отлично! Огромное спасибо. Я думаю, мне нужно сделать еще несколько уроков! После последней ячейки «структура» будет еще один «* Class = *», но по крайней мере это заставит меня преодолеть еще одно препятствие.

осительно неопытен в VBA, но обычно могу выполнить простые задачи. В настоящее время у меня проблема с функцией .Find. Я знаю, что в Excel нет возможности выполнить два .find, но у меня возникают проблемы при кодировании цикла для второго поиска. Код, который у меня есть, находится здесь:

Dim j As Integer

Dim Total As Integer
Total = Application.CountIf(Sheets("Output").Range("A:A"), "*Structure*")

Dim class As String
class = "CLASS ="

Dim str As String
str = "Structure" 

With Sheets("output")
Set rng1 = .Range("A:A").Find(str, lookat:=xlPart)
    row1 = rng1.Row
Set rng2 = .Range("A:A").FindNext(rng1)
    row2 = rng2.Row

            For j = 6 To Total + 5
                    If Application.WorksheetFunction.CountIf(Sheets("output").Range("A" & row1 & ":A" & row2), "*" & class & "*") > 0 Then
                        Set rng3 = .Range("A" & row1 & ":A" & row2).Find(class, lookat:=xlPart)
                        Sheets("sheet2").Cells(7, j).Value = Mid(rng3, 9, 3)         
                    Else
                        Sheets("sheet2").Cells(7, j).Value = ""
                    End If
                        row1 = row2
                        Set rng2 = .Range("A:A").FindNext(rng2)
                        row2 = rng2.Row
            Next j
End With

У меня есть код, который ищет слово «Структура», чтобы создать Range для второго .Find, а затем заполнить таблицу на другом листе. Я знаю, что проблема связана с множественным .Find, но я не смог найти никакой помощи, которую мог бы полностью понять.

Ответы на вопрос(0)

Ваш ответ на вопрос