Объединение текста в ячейках Excel, содержащих списки - VBA
Формулировка задачи:
Добрый день!
Подскажите как решить задачку:
Есть таблица excel, которая содержит на листе столбец текст. Текст этот был получен в результате тупого копирования кучи различных документов (всё печально ) из word в excel. (количество записей под 200 тысяч).
В тексте присутствуют различные списки, которые разбиты по ячейкам excel, как пример:
В общем цель заключается в объединении подобных списков в одной (первой) ячейке excel и удалении текста из ячеек, текст которых включен в ячейку. Очень путано объяснила на словах
Понятней всё выглядит в приложении к сообщению
Задача кривая, но сроки горят и её нужно как-то решать
Готова выдать небольшое материальное вознаграждение.
| Входная информация может содержать следующие параметры, в зависимости от их применимости: |
| a)********** Базовая входная информация: |
| —* функция установки, конструкций, систем или элементов; |
| —* требования к местоположению и взаимодействиям; |
| —* учет результатов предыдущих разработок. |
| b)********* Производная входная информация (зависящая от концептуального проекта): |
| —* проектные требования, относящиеся к специфическим дисциплинам, в том числе: |
| ●** аспекты, связанные с ; |
| ●** металлургические и материаловедческие аспекты: защитные покрытия, сварные швы; истирание, изнашивание, эрозия и ползучесть; |
| —* требования к обслуживанию, включая надежность, резервирование; |
| —* требования к выводу из эксплуатации, в том числе демонтаж и дезактивация. |
Решение задачи: «Объединение текста в ячейках Excel, содержащих списки»
textual
Листинг программы
Sub Macros()
Dim i As Long, j As Long, f_sym As String
j = 1
For i = 2 To Range("B" & Rows.Count).End(xlUp).Row
f_sym = Asc(Left(LTrim(Range("B" & i)), 1))
If (f_sym > 47 And f_sym < 58) Or (f_sym > 191 And f_sym < 224) Then
j = j + 1
Sheets("Результат").Range("B" & j) = LTrim(Range("B" & i))
Else
Sheets("Результат").Range("B" & j) = Sheets("Результат").Range("B" & j) & Chr(10) & LTrim(Range("B" & i))
End If
Next i
End Sub