Я написал нижеприведенные макросы ниже, и он отлично работает, когда есть данные (пример) 12345
на листе SMT02.Excel vba найти значение в листах и удалить строки
Итак, если присутствует 12345
, он оставляет эти строки и удаляет остальные строки другими данными.
Но я хочу, чтобы он работал таким образом, даже если 12345
нет, тогда я все еще хочу, чтобы все остальное (строки) было удалено. На данный момент он отлаживается и останавливается. Может ли кто-нибудь помочь?
Dim c As Range
Dim SrchRng
Sheets("SMT02").Select
Range("B1").Select
Set SrchRng = ActiveSheet.Range("B1", ActiveSheet.Range("B65536").End(xlUp))
Do
Set c = SrchRng.Find("12345", LookIn:=xlValues)
If Not c Is Nothing Then c.EntireRow.Delete
Loop While Not c Is Nothing
Не могли бы вы сказать, что вы хотите делать? Мы не можем понять, что вы хотите от своего кода, если мы исправляем ошибки в вашем коде. – rakslice
Я хочу удалить все строки, которые не содержат «12345», и сохранить только строки с «12345» Но - если данные электронной таблицы, которые пришли к нам, не имеют «12345», он все равно должен удалить все остальные строки, которые не имеют «12345». В принципе, лист должен быть пустым после удаления (если «12345» не присутствует). Надеюсь, я правильно объяснил. Спасибо. – kpatel
Используйте [AUTOFILTER] (http://stackoverflow.com/questions/11631363/how-to-copy-a-line-in-excel-using-a-specific-word-and-pasting-to-another-excel- s)? –