Не в строке поиска - работает, когда это - PullRequest
0 голосов
/ 31 мая 2019

Надеюсь, вы можете помочь. У меня есть колонки А и Б В A мне нужно заменить весь текст, содержащий «Forsikringspræmie» на «» (Пробел)

Этот код работает. Sub KSV_Remove_Forsikringspræmie ()

Но в столбце B мне нужен противоположный случай. И код Sub KSV_Remove_Not_Forsikringspræmie () не работает.

Sub KSV_Remove_Forsikringspræmie()
    Dim KSV_SrchRng As Range, cel As Range
    Set KSV_SrchRng = Range("A1:A99")
    For Each cel In KSV_SrchRng
      If InStr(1, cel.Value, "Forsikringspræmie") > 0 Then
         cel.Value = ""
      End If
    Next cel
End Sub

Sub KSV_Remove_Not_Forsikringspræmie()
    Dim KSV_SrchRng As Range, cel As Range
    Set KSV_SrchRng = Range("B1:B99")
    For Each cel In KSV_SrchRng
      If InStr(1, cel.Value, Not "Forsikringspræmie") Then
         cel.Value = ""
      End If
    Next cel
End Sub

Ответы [ 2 ]

2 голосов
/ 31 мая 2019

Я думаю, вы можете просто поместить Not в неправильное место. Попробуйте это:

Sub KSV_Remove_Not_Forsikringspræmie()
    Dim KSV_SrchRng As Range, cel As Range
    Set KSV_SrchRng = Range("B1:B99")
    For Each cel In KSV_SrchRng
      If Not (InStr(1, cel.Value, "Forsikringspræmie")) Then
         cel.Value = ""
      End If
    Next cel
End Sub
1 голос
/ 31 мая 2019

В ответ на ваш комментарий к сообщению Грега (комментарий гласит: с одной маленькой ошибкой, теперь он удаляет каждую ячейку, поскольку ячейки, содержащие "Forsikringspræmie", они нумеруются, например, "Forsikringspræmie1, Forsikringspræmie2" и т. Д. .... и подстановочный знак не работает. ) ... если вы хотите заменить и сохранить числа, которые были в ячейке, попробуйте функцию Replace, например:

With Columns(1)
    .Replace what:="Forsikringspræmie", replacement:="", searchorder:=xlByColumns, MatchCase:=False
End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...