Макрос - удаление текста между символами в ячейке - VBA

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

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

Есть эксель файл, в определенном столбце на каждой строке текст с html тегами. Нужен макрос, чтобы он чистил все теги, кроме абзацев. В целом я представляю как это сделать, с вба более-менее знаком, но ни как не могу найти чем это сделать. Нашел много информации как работать с ячейками целиком, а не с частью ее содержимого. Мое представление макроса таково: цикл, проверочка, если находит открывающий символ тега ("<"), еще один иф, проверяющий, не абзацевый ли это тег ("<p>") если он, чистит стиль абзаца (все символы между "p" и ">") и продолжает искать дальше, если нет, то тупо затирает весь тег ( от "<" до ">"). Ну саму зачистку я бы сделал либо записывая позицию крайних символов, и удаляя символы между этими позициями, либо сохраняя в новую переменную новые "данные", уже исключая не нужные теги.

Но

, нужно учесть, что кол-во символов в тексте может быть совершенно непредсказуемым (от 50 символов в ячейке, до 30к, а того и больше, из-за того, что стиль задается иногда каждой строке, и даже пустой, и даже иногда разные стили внутри одной строки). Количество ячеек в этом столбце тоже может быть случайным (20 - 20к). Ну, проверить, не пустая ли следующая ячейка, мне не составит труда самому, вся проблема именно в работе с текстом внутри ячейки. Буду благодарен за любую помощь: похожие макросы, справочники подходящие по теме, готовый макрос, задача направления ссылками...

Решение задачи: «Макрос - удаление текста между символами в ячейке»

textual
Листинг программы
 .Pattern = "<([^p]|\w{2,})/>"

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


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

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

9   голосов , оценка 3.889 из 5
Похожие ответы