Уважаемые специалисты, есть рабочий макрос по удалению строк, но необходимо его подправить и добиться чтобы: 1. При отсутствии заданных данных (не ввел случайно) или вводе данных, которые отсутствуют в строке 25 выдавалось сообщение "Проверьте правильность заданных данных". Еще, чтобы не удалялась пустая строка при не заданных условиях. 2. Если заданное условие обнаружено в строке 25, выдавалось сообщение "Данные удалены успешно".
[vba]
Код
Private Sub CommandButton4_Click() 'Удаление выбранной строки x = Application.InputBox("Введите условие для удаления", Type:=2) Application.ScreenUpdating = False For s = Cells(Rows.Count, 25).End(xlUp).Row To 2 Step -1 If Cells(s, 25) = x Then Rows(s).Delete Next Application.ScreenUpdating = True UserForm1.Hide Unload Me End Sub
[/vba]
СПАСИБО
Уважаемые специалисты, есть рабочий макрос по удалению строк, но необходимо его подправить и добиться чтобы: 1. При отсутствии заданных данных (не ввел случайно) или вводе данных, которые отсутствуют в строке 25 выдавалось сообщение "Проверьте правильность заданных данных". Еще, чтобы не удалялась пустая строка при не заданных условиях. 2. Если заданное условие обнаружено в строке 25, выдавалось сообщение "Данные удалены успешно".
[vba]
Код
Private Sub CommandButton4_Click() 'Удаление выбранной строки x = Application.InputBox("Введите условие для удаления", Type:=2) Application.ScreenUpdating = False For s = Cells(Rows.Count, 25).End(xlUp).Row To 2 Step -1 If Cells(s, 25) = x Then Rows(s).Delete Next Application.ScreenUpdating = True UserForm1.Hide Unload Me End Sub
Прошу прощения в тексте ошибся. Естественно нужно читать не строке 25 а столбце 25: .........отсутствуют в столбце 25..... ......Если заданное условие обнаружено в столбце 25,....
Прошу прощения в тексте ошибся. Естественно нужно читать не строке 25 а столбце 25: .........отсутствуют в столбце 25..... ......Если заданное условие обнаружено в столбце 25,....Egider
Без примера, конечно, плохо, но проверьте так [vba]
Код
Private Sub CommandButton4_Click() 'Удаление выбранной строки Dim rng as Range x = Application.InputBox("Введите условие для удаления", Type:=2) Application.ScreenUpdating = False For s = Cells(Rows.Count, 25).End(xlUp).Row To 2 Step -1 If Cells(s, 25) = x Then If rng Is Nothing Then Set rng = Rows(s) Else Set rng = Union(rng, Rows(s)) End If Next If rng is Nothing Then Msgbox "Проверьте правильность заданных данных" Else rng.Delete Application.ScreenUpdating = True UserForm1.Hide Unload Me End Sub
[/vba]
Без примера, конечно, плохо, но проверьте так [vba]
Код
Private Sub CommandButton4_Click() 'Удаление выбранной строки Dim rng as Range x = Application.InputBox("Введите условие для удаления", Type:=2) Application.ScreenUpdating = False For s = Cells(Rows.Count, 25).End(xlUp).Row To 2 Step -1 If Cells(s, 25) = x Then If rng Is Nothing Then Set rng = Rows(s) Else Set rng = Union(rng, Rows(s)) End If Next If rng is Nothing Then Msgbox "Проверьте правильность заданных данных" Else rng.Delete Application.ScreenUpdating = True UserForm1.Hide Unload Me End Sub