Удалить символ звездочки - PullRequest
0 голосов
/ 27 августа 2018

Я написал этот код, чтобы просмотреть мою таблицу и удалить любую строку, в которой найдена фраза «(звездочка) Начало (звездочка)». Тем не менее, я думаю, что звездочка признается по-разному. Как я могу обновить этот код для поиска буквального символа звездочки и удаления любой строки с экземпляром этого символа?

Sub Example()

    Dim rCell As Range
    Dim cRow As Long, lastRow As Long
    lastRow = Worksheets("Formula").Range("A" & Rows.Count).End(xlUp).row
    With Worksheets("Formula").Range("A1", Worksheets("Formula").Range("A" & Rows.Count).End(xlUp))
        Do
            Set c = .Find(What:="*Start*", After:=[A1], LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns _
            , SearchDirection:=xlNext, MatchCase:=True, SearchFormat:=False)
            If Not c Is Nothing Then
                cRow = c.row
                c.EntireRow.Delete
            End If
         Loop While Not c Is Nothing And cRow < lastRow
    End With

End Sub

Ответы [ 2 ]

0 голосов
/ 27 августа 2018

Escape это с ~:

Set c = .Find(What:="~*Start~*", After:=[A1], LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns _
    , SearchDirection:=xlNext, MatchCase:=True, SearchFormat:=False)
0 голосов
/ 27 августа 2018

Вы можете экранировать звездочку *, используя тильду ~ перед ней:

Set c = .Find(What:="~*Start~*", After:=[A1], LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByColumns _
        , SearchDirection:=xlNext, MatchCase:=True, SearchFormat:=False)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...