Оптимизация кода по замене текста - VBA

Узнай цену своей работы

Формулировка задачи:

Подскажите пожалуйста, как можно оптимизировать нижеуказанный код?
Листинг программы
  1. Sub www()
  2. Dim iSource As Range, iCell As Range
  3. Set iSource = Worksheets(1).Range("B:B")
  4. Set iCell = iSource.Find("найти1", , xlValues, xlPart)
  5. Do Until iCell Is Nothing
  6. iCell = "заменить1"
  7. Set iCell = iSource.FindNext
  8. Loop
  9. Set iCell = iSource.Find("найти2", , xlValues, xlPart)
  10. Do Until iCell Is Nothing
  11. iCell = "заменить2"
  12. Set iCell = iSource.FindNext
  13. Loop
  14. Set iCell = iSource.Find("найти...", , xlValues, xlPart)
  15. Do Until iCell Is Nothing
  16. iCell = "заменить..."
  17. Set iCell = iSource.FindNext
  18. Loop
  19. End Sub

Решение задачи: «Оптимизация кода по замене текста»

textual
Листинг программы
  1. Sub www()
  2. Const FND = "найти1|найти2|найтиХ"
  3. Const RPL = "заменить1|заменить2|заменитьX"
  4.  
  5. Dim iCell As Range, i&, aFnd, aRpl
  6.   aFnd = Split(FND, "|"): aRpl = Split(RPL, "|")
  7.   With Worksheets(1).Range("B:B")
  8.     For i = 0 To UBound(aFnd)
  9.       Set iCell = .Find(aFnd(i), , xlValues, xlPart)
  10.       Do Until iCell Is Nothing
  11.          iCell = aRpl(i)
  12.          Set iCell = .FindNext
  13.       Loop
  14.     Next
  15.   End With
  16. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.917 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы