Доброй ночи. Всех с наступающим Новым годом!!! Желаю в Новый год удачи, И исполнения мечты! Пусть будут радостными встречи, Любви большой и доброты! Ну и мой вопрос, как данный код подправить, чтобы удаление строки было на неактивном листе? Сейчас срабатывает только на активном листе "Лист1". Что-то намудрила я с Worksheets("Лист2"), с него не хочет. Спасибо.
[vba]
Код
Sub Del_SubStr() Dim sSubStr As String Dim lCol As Long Dim lLastRow As Long, li As Long lCol = 1 ' столбец для проверки условия lLastRow = Worksheets("Лист2").Cells(Rows.Count, lCol).End(xlUp).Row Application.ScreenUpdating = 0 Application.EnableEvents = 0 For li = lLastRow To 5 Step -1 sSubStr = Cells(li, lCol).Value If IsNumeric(sSubStr) And sSubStr <> "" Then If sSubStr = Range("B1") Then Rows(li).Delete End If End If Next li Application.EnableEvents = 1 Application.ScreenUpdating = 1 End Sub
[/vba]
Доброй ночи. Всех с наступающим Новым годом!!! Желаю в Новый год удачи, И исполнения мечты! Пусть будут радостными встречи, Любви большой и доброты! Ну и мой вопрос, как данный код подправить, чтобы удаление строки было на неактивном листе? Сейчас срабатывает только на активном листе "Лист1". Что-то намудрила я с Worksheets("Лист2"), с него не хочет. Спасибо.
[vba]
Код
Sub Del_SubStr() Dim sSubStr As String Dim lCol As Long Dim lLastRow As Long, li As Long lCol = 1 ' столбец для проверки условия lLastRow = Worksheets("Лист2").Cells(Rows.Count, lCol).End(xlUp).Row Application.ScreenUpdating = 0 Application.EnableEvents = 0 For li = lLastRow To 5 Step -1 sSubStr = Cells(li, lCol).Value If IsNumeric(sSubStr) And sSubStr <> "" Then If sSubStr = Range("B1") Then Rows(li).Delete End If End If Next li Application.EnableEvents = 1 Application.ScreenUpdating = 1 End Sub
Sub Del_SubStr() Dim sSubStr As String Dim lCol As Long Dim lLastRow As Long, li As Long lCol = 1 ' столбец для проверки условия With Worksheets("Лист2") lLastRow = .Cells(Rows.Count, lCol).End(xlUp).Row Application.ScreenUpdating = 0 Application.EnableEvents = 0 For li = lLastRow To 1 Step -1 sSubStr = .Cells(li, lCol).Value If IsNumeric(sSubStr) And sSubStr <> "" Then If sSubStr = Range("B1") Then .Rows(li).Delete End If End If Next li End With Application.EnableEvents = 1 Application.ScreenUpdating = 1 End Sub
[/vba]
Наверно так: [vba]
Код
Sub Del_SubStr() Dim sSubStr As String Dim lCol As Long Dim lLastRow As Long, li As Long lCol = 1 ' столбец для проверки условия With Worksheets("Лист2") lLastRow = .Cells(Rows.Count, lCol).End(xlUp).Row Application.ScreenUpdating = 0 Application.EnableEvents = 0 For li = lLastRow To 1 Step -1 sSubStr = .Cells(li, lCol).Value If IsNumeric(sSubStr) And sSubStr <> "" Then If sSubStr = Range("B1") Then .Rows(li).Delete End If End If Next li End With Application.EnableEvents = 1 Application.ScreenUpdating = 1 End Sub
Доброе утро Michael_S. Похоже с текстовыми значениями он работать не хочет, а если числовые, то работает. Попробую дополнительный столбец на проверку формулой, а затем буду по этому столбцу удалять. Большое спасибо за помощь.
Доброе утро Michael_S. Похоже с текстовыми значениями он работать не хочет, а если числовые, то работает. Попробую дополнительный столбец на проверку формулой, а затем буду по этому столбцу удалять. Большое спасибо за помощь.karmen185