Я пытаюсь преобразовать текстовый файл в лист Excel. Я должен удалить некоторые элементы данных и скопировать некоторые элементы данных в несколько столбцов. Чтобы удалить некоторые данные, я должен искать определенную строку (RUN). После того, как у меня есть этот адрес, я должен искать следующий RUN. Внутри этих двух строк я должен найти другую строку (NET) и удалить ее. Я должен делать это по всей таблице, так как это часто.
Вот код, который я пытаюсь использовать.
Dim name As String: name = "RUN"
Dim secondName As String: secondName = "NET"
Dim rgSearch As Range
' set the range to entire sheet
Set rgSearch = Range(Cells.Address)
Dim rgSearch1 As Range
Dim cell As Range
'search for first occurrence of RUN
Set cell = rgSearch.Find(name)
Dim tempCell As Range
' If not found then exit
If cell Is Nothing Then
Debug.Print "Not found"
Exit Sub
End If
' Store first cell address
Dim firstCellAddress As String, firstRow As Integer, secondRow As Integer
'store address of first result
firstCellAddress = cell.Address
secondRow = cell.Row
Do
'save range to another range for next iteration
Set tempCell = cell.Select
'row variables are for alternate solution I tried
firstRow = secondRow
Debug.Print "Found: " & cell.Address
' search for next instance
Set cell = rgSearch.FindNext(cell)
,set next instance
secondRow = cell.Row
Set rgSearch1 = Range(tempCell, cell).Select
Loop While firstCellAddress <> cell.Address
Я также пытался использовать
Set rgSearch1 = Range("B" & firstRow + 1 & ":B" & secondRow - 1).Select
вместо помещения ячеек в диапазон, но я получаю тот же результат. Вот почему эти переменные firstRow, secondRow есть.
С обеими идеями я получаю ошибку Object Required. Может кто-нибудь показать мне, пожалуйста, что я делаю не так?