Удаление строк по условию - VBA (49116)

Узнай цену своей работы

Формулировка задачи:

Подскажите пожалуйста, как произвести удаление строк по условию, необходимо удалить строки при условии если в столбце "ПОКАЗАТЕЛЬ" показатель3 равен значению 10 в столбце "ЗНАЧЕНИЕ" и удаление строк должно происходить по столбцу "ФИО", т.е. если у чел.1 показатель 3 равен 10 то он должен остаться с другими показателями, а все те чел. у которых показатель3 неравен 10 должны удалится
ФИО ПОКАЗАТЕЛЬ ЗНАЧЕНИЕ    
чел.1 показатель1 10    
чел.1 показатель2 11    
чел.1 показатель3 10    
чел.1 показатель4 13    
чел.1 показатель5 14    
чел.1 показатель6 15    
чел.1 показатель7 16    
чел.1 показатель8 17    
чел.2 показатель1 1   должно удалится
чел.2 показатель2 2   должно удалится
чел.2 показатель3 3   должно удалится
чел.2 показатель4 4   должно удалится
чел.2 показатель5 5   должно удалится
чел.2 показатель6 6   должно удалится
чел.3 показатель1 10    
чел.3 показатель2 10    
чел.3 показатель3 10    
чел.3 показатель4 10    
чел.3 показатель5 10    
чел.3 показатель6 10    
чел.4 показатель1 20   должно удалится
чел.4 показатель2 21   должно удалится
чел.4 показатель3 22   должно удалится

Решение задачи: «Удаление строк по условию»

textual
Листинг программы
  1. Sub tt()
  2.     Dim r As Range, a, i As Long
  3.  
  4.     Set r = Cells.Find("чел.1").CurrentRegion: a = r.Value
  5.     With CreateObject("scripting.dictionary"): .comparemode = 1
  6.         For i = 2 To r.Rows.Count
  7.             If a(i, 2) = "показатель3" Then
  8.                 If a(i, 3) = 10 Then .Item(a(i, 1)) = 0&
  9.             End If
  10.         Next
  11.  
  12.         For i = r.Rows.Count To 2 Step -1
  13.             If Not .exists(a(i, 1)) Then r.Rows(i).EntireRow.Delete
  14.         Next
  15.     End With
  16. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы