2016-01-12 4 views
1

Я хотел бы найти все ячейки на моем названном листе (AdjacencyData), чтобы узнать, содержат ли они значение «NOT FOUND IN MASTER CATEGORY LIST». Мои ячейки содержат длинные строки, а скрытые где-то в них могут быть фразой. Я хочу найти всю ячейку, чтобы увидеть, находится ли эта фраза где-то внутри, а затем, если ячейка содержит эту фразу где-нибудь внутри, замените все значение на ячейку новой фразой «LOCATION UNSURE». Есть ли способ сделать это? У меня есть некоторые догадки, но я не очень хорошо разбираюсь в опции поиска и замены.Поиск значения ячейки по ячейке, Замените значение всей ячейки

find = "NOT FOUND IN MASTER CAT LIST" 
f = AdjacencyData.Cells.find(What:=find, lookat:=xlPart) 
If f Is Nothing Then 
    Else 

Не знаю, что делать дальше, этот частичный код - моя единственная идея!

+2

Просто нужно использовать метод Range.Replace с групповыми символами: 'AdjacencyData.Cells.Replace "* НЕ НАЙДЕНО В MASTER CAT LIST *"," LOCATION UNSURE ", xlWhole' – tigeravatar

ответ

0

Вы хотите инвестировать в .Range.FindNext функции:

FindMe = "NOT FOUND IN MASTER CAT LIST" 
With Sheets("AdjacencyData").Range("Defined Range") 
    Set f = .Find(What:=FindMe, lookin:=xlValues) 
    If Not f Is Nothing Then 
     firstAddress = f.Address 
     Do 
      f.Value = "LOCATION UNSURE" 
      Set f = .FindNext(f) 
     Loop While Not f Is Nothing And f.Address <> firstAddress 
    End If 
End With 
+0

Если это сработает для вас, пожалуйста, примите зеленую галочку. – Chrismas007

+0

Range.FindNext не нужен. Может быть сделано с одним «Range.Replace» – tigeravatar

+0

@tigeravatar True. Предложите это как ответ, и я поднимусь. Однако этот метод также работает. – Chrismas007