Уважаемые форумчане!
Я начинающий пользователь макросов.
Помогите, пожалуйста решить небольшую и простую задачу.
Для упрощения работы с файлом написал несколько макросов... методом проб и ошибок, листая инфу на различных форумах...
Не могу доделать последний шаг.
есть такой макрос выбора строки по условию...
Код |
---|
Sub Macro10()
Dim ra As Range, delra As Range, ТекстДляПоиска As String
Application.ScreenUpdating = False
ТекстДляПоиска = ActiveCell
For Each ra In ActiveSheet.UsedRange.Rows
If Not ra.Find(ТекстДляПоиска, , xlValues, xlPart) Is Nothing Then
If delra Is Nothing Then Set delra = ra Else Set delra = Union(delra, ra)
End If
Next
If Not delra Is Nothing Then delra.EntireRow.Select
Selection.Cut
|
и дальше вырезанные строки должны попасть на другой лист в первую свободную ячейку...
Для одной строки у меня работает такой макрос
Код |
---|
Sub Макрос4()
i = ActiveCell.Row
Rows(i + 0).Select
Selection.Cut
Sheets("Погашенные").Select
NextRow = Range("A65536").End(xlUp).Row + 1
Cells(NextRow, 1).Select
ActiveSheet.Paste
Sheets("Лист1").Select
Rows(i + 0).Select
Selection.Delete Shift:=xlUp
End Sub
|
Но строк вырезанных предыдущим макросом может более 1... и тут у меня проблема, которую не могу решить несколько дней...
прописываю второй макрос продолжением первого...
Код |
---|
Sub Macro10()
Dim ra As Range, delra As Range, ТекстДляПоиска As String
Application.ScreenUpdating = False
ТекстДляПоиска = ActiveCell
For Each ra In ActiveSheet.UsedRange.Rows
If Not ra.Find(ТекстДляПоиска, , xlValues, xlPart) Is Nothing Then
If delra Is Nothing Then Set delra = ra Else Set delra = Union(delra, ra)
End If
Next
If Not delra Is Nothing Then delra.EntireRow.Select
Selection.Cut
Sheets("Погашенные").Select
NextRow = Range("A65536").End(xlUp).Row + 1
Cells(NextRow, 1).Select
ActiveSheet.Paste
Sheets("Лист1").Select
Rows(i + 0).Select
Selection.Delete Shift:=xlUp
End Sub
|
и ничего не работает выдает ошибку на строке NextRow=
Помогите, пожалуйста.... только прошу не просто переделать макрос, чтоб работало, а объяснить что я сделал неверно?
Ведь оба макроса по отдельности отлично работают...