Страницы: 1
RSS
Удаление строки по двум "Если", Если строка содержит *текст*, а строка над ней цифра то - удалить
 
Всем доброго дня! В vba новичок, мои макросы, почти все с этого форума, но адаптированные под себя. Понимание уже какое-то есть, но эту задачку уже неделю не могу решить. Надеюсь на помощь.
Суть проблемы. Я копирую текст из html на лист excel, и мне нужно его отформатировать. Вот таким образом:
Строка1: Наименование
Строка2: Цена за шт.
Строка3: Цена общая
И так весь список, как на картинке


Но после копирования, я иногда получаю такие строки на листе


Все строки с "шт" я изначально удаляю макросом. Но проблема в том, что если на наименование была скидка (9.00 на картинке), после копирования c html, она тоже вписывается в таблицу и я получаю ее как цифровое значение. В итоге получается что список идет верно - в 3 строки, до момента пока не натыкается на наименование где была скидка, а там получается уже 4 строки. Ну и заканчивается это хаотичностью конечных данных.

Собственно суть: Есть ли возможность удалять строку с текстом "шт", но так, чтобы была проверка строки выше. И если строка - "цифра" удаляла ее тоже?
Если у кого-то есть другая логическая последовательность, для решения задачки, то тоже буду рад совету.
 
файл(ы) приложите.
 
Код
Sub DelSCHT()
  Dim rg As Range
  Do
    Set rg = Cells.Find("шт", , xlValues, xlWhole, SearchFormat:=False)
    If rg Is Nothing Then Exit Do
    If IsNumeric(rg.Offset(-1)) Then
      Rows(rg.Row - 1).Resize(2).Delete
    Else
      Rows(rg.Row).Delete
    End If
  Loop
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
написал:
Sub DelSCHT()
 Dim rg As Range
 Do
   Set rg = Cells.Find("шт", , xlValues, xlWhole, SearchFormat:=False)
   If rg Is Nothing Then Exit Do
   If IsNumeric(rg.Offset(-1)) Then
     Rows(rg.Row - 1).Resize(2).Delete
   Else
     Rows(rg.Row).Delete
   End If
 Loop
End Sub
Офигеть! Я столько мучился и вы выдаете решение за пол часа)) Бесконечно благодарен вам! :D  
Страницы: 1
Наверх