Работа макроса на скрытом не активном листе - VBA

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

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

Добрый день, уважаемые. Такая проблема. Скажем есть макрос, который удаляет теги из ячеек.
Листинг программы
  1. Sub DeleteTgRisk()
  2. Dim r As Range
  3. Application.Unian(Range("J2:J50"),Range("P:P50")).Select
  4. Selection.NumberFormat="@"
  5. With CreateObject("vbscript.regexp")
  6. .Pattern="\<.*?\>"
  7. .Global=True
  8. For Each r In Selection
  9. r.Value=Replace(.Replace(r.Value, ""), "&nbps;", " ")
  10. r.Value=Replace(.Replace(r.Value, ""), "#160;", " ")
  11. r.Value=Replace(.Replace(r.Value, ""), "&quot;", " ")
  12. next r
  13. End With
  14. End Sub
Все хорошо, только вот хотелось бы чтоб макрос мог обрабатывать данные на скрытом не активном листе. Я так понимаю тут нужно как то избавляться от селектов и по другому обращаться к ячейкам. Подскажите пожалуйста )))

Решение задачи: «Работа макроса на скрытом не активном листе»

textual
Листинг программы
  1. Sub DeleteTgRisk()
  2.     Dim r As Range, t$
  3.     Set r = Worksheets("Имя_скрытого_рабочего_листа").[J2:J50,P2:P50]
  4.     r.NumberFormat = "@"
  5.    
  6.     With CreateObject("VBScript.RegExp")
  7.          .Pattern = "\<.*?\>"
  8.          .Global = True
  9.          For Each r In r
  10.              t = .Replace(r.Value, "")
  11.              t = Replace(t, "&nbps;", " ")
  12.              t = Replace(t, "#160;", " ")
  13.              t = Replace(t, """, " ")
  14.              r.Value = t
  15.          Next
  16.     End With
  17. End Sub

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


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

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

10   голосов , оценка 4.1 из 5

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

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

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