Удалить повторяющиеся предложения (через ;) внутри ячейки - VBA
Формулировка задачи:
Добрый день!
Имеется excel файл, его формат напечатан ниже:
Столбец
"A"
- Артикул; Столбец"B"
- Ссылки на иллюстрации (идут через точку с запятой - ";"). 1. Напишите пожалуйста макрос, которыйудалит повторяющиеся предложения внутри ячеек столбца "B"
; 1.1. Этиповторяющиеся значения разделены точкой с запятой - ";"
; 1.2.Строк в столбце около 50 тыс.
Пример страницы исходник:"A1"
18172"B1"
хттп://images.ru/medias/sys_master/root/h57/h96/9027869409310.jpg; хттп://images.ru/medias/sys_master/root/h57/h96/9027869409310.jpg; хттп://images.ru/medias/sys_master/root/h4f/h35/9027869802526.jpg; хттп://images.ru/medias/sys_master/root/h3a/h31/9027870359582.jpg; хттп://images.ru/medias/sys_master/root/hbd/h60/9038107672606.jpg"A2"
338539"B2"
хттп://images.ru/medias/sys_master/root/hab/h93/8908809502750.jpg; хттп://images.ru/medias/sys_master/root/hab/h93/8908809502750.jpg; хттп://images.ru/medias/sys_master/root/hf0/ha6/8855581917214.jpg Пример необходимого результата:"A1"
18172"B1"
хттп://images.ru/medias/sys_master/root/h57/h96/9027869409310.jpg; хттп://images.ru/medias/sys_master/root/h4f/h35/9027869802526.jpg; хттп://images.ru/medias/sys_master/root/h3a/h31/9027870359582.jpg; хттп://images.ru/medias/sys_master/root/hbd/h60/9038107672606.jpg"A2"
338539"B2"
хттп://images.ru/medias/sys_master/root/hab/h93/8908809502750.jpg; хттп://images.ru/medias/sys_master/root/hf0/ha6/8855581917214.jpg P.S. Во вложении прикрепляю файл со страницами исходник и необходимый результат.Решение задачи: «Удалить повторяющиеся предложения (через ;) внутри ячейки»
textual
Листинг программы
- Sub asd()
- For r = 2 To ActiveSheet.UsedRange.Rows.Count
- s = Cells(r, 2)
- a = Split(s, ";")
- For i = 0 To UBound(a) - 1
- For j = i + 1 To UBound(a)
- If a(i) = a(j) Then a(i) = "": Exit For
- Next
- Next
- s = Join(a, ";")
- While InStr(s, ";;")
- s = Replace(s, ";;", ";")
- Wend
- If Left$(s, 1) = ";" Then s = Mid$(s, 2)
- Cells(r, 2) = s
- Next
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д