Это работало отлично! Огромное спасибо. Я думаю, мне нужно сделать еще несколько уроков! После последней ячейки «структура» будет еще один «* 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, но я не смог найти никакой помощи, которую мог бы полностью понять.