Страницы: 1
RSS
Проверка ячейки на содержание слэша "/". VBA
 
Добрый день. Имеется таблица, в 1 столбце которой написано "удалить" и "добавить". Нужно, чтобы макрос удалял строки, в которых последнее слово "добавить" или его производные вроде "доб" или "добав" и т.д. Написал небольшой макрос, но он не распознает слэш "/" и поэтому работает неправильно. Помогите, пожалуйста написать макрос правильно.
Код
Sub mal_da_udal()
Dim lr As Long

lr = Sheets("Лист1").Cells(Rows.Count, 1).End(xlUp).Row

For a = lr To 2 Step -1
  If Cells(a, 1) Like "*доб*" Then
   If Not Cells(a, 1) Like "*доб*/" Then
     Rows(a).Delete
   End If
  End If
Next

End Sub
 
"*доб*/*"
Изменено: Wiss - 25.10.2019 15:44:06
Я не волшебник, я только учусь.
 
точно, там же после слэша еще символы есть... Wiss, спасибо большое! Сижу уже час туплю, гугля как же слэш отобразить в VBA. а проблема совершенно в другом)
Изменено: Hellmaster - 25.10.2019 15:52:07
 
понимаете
Like "*доб*/"
человеческим языком значит строка содержащая текст "доб" и заканчивающаяся слешом /
есть у вас в данных такие строки?
поэтому, все что сжержит "доб" - будет удалено
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Код
    For a = lr To 2 Step -1
        If Cells(a, 1) Like "*/доб*" Then Rows(a).Delete
    Next
'Если доб после слэша
 
Юрий М, если будет строка "удалить/добавить/удал", то он ее удалит же?
 
А проверить нет никакой возможности? ))
Удалит. Я задачу понял так, что нужно удалять, если удалить после слэша.
 
Цитата
Hellmaster написал:
Нужно, чтобы макрос удалял строки, в которых последнее слово "добавить" или его производные вроде "доб" или "добав" и т.д.
Не, тут по-другому нужно)
 
Можно разбить на слова Split'ом или посмотреть в сторону регулярных выражений...
Владимир
 
Цитата
Hellmaster написал:
Проверка ячейки на содержание слэша "/". VBA
ответ:
If  Cells(a,1) Like "*/*" Then MsgBox "ячейка содержит /"
для большей важности ответить можно функцией:
Код
Function ExistsSlash(txt As String) As Boolean
  ExistsSlash = txt Like "*/*"
End Function
на этом вопрос, заданный в теме закрыт
Изменено: Ігор Гончаренко - 25.10.2019 16:35:14
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ответ Игоря в точном соответствии с названием темы.
Вопрос решён )
 
Юрий М, да мне еще Wiss ответил в #2)
Ігор Гончаренко,  спасибо за ответ в точном соответствии с названием темы!
Страницы: 1
Наверх