根据 'find character' 添加换行符并返回到第一个 space

Adding newline based on 'find character' and go back to first space

我正在清理大量具有如下共同模式的数据:

REG#:15082608 Date:15-JUN-15 BACKTRACK 已清除:Date:31-AUG-15 Recvd:13-MAY-15 Agency:OAKLAND(以及大约 25 个其他数据每条记录的点数,但遵循此模式)。带有大量记录的原始 PDF 文件位于:http://abc.ca.gov/reports/Actions2015/ActionsFinal_09-23-15.pdf

我不是程序员,但尝试过 Refine 和一堆 Excel 测试,但还没有找到一种方法可以对大量记录(数千条,但是,将开始有几十个:)。所以,我的问题是:

脚本能否识别冒号“:”,然后返回到该冒号之前的第一个 space,例如 'Date:15-JUN-15 BACKTRACK Cleared: Date:31-AUG-15' 并为每个实例输入一个新行?所以结果输出将是:

Date:15-JUN-15 BACKTRACK 
Cleared: 
Date:31-AUG-15

另一个问题是,我可以手动将每条记录(所有 25 个以上的数据点)复制并粘贴到一个唯一的单元格中,但是,理想的是我将 PDF 保存为电子表格,它基本上构建了一个它找到的每一行的行 - 这意味着在某些单元格中会有多个冒号,我需要脚本相应地降低其他行。

到达那个地方后,我可以进行文本转列,然后从那里构建我的数据库。

Select 包含数据的单元格和 运行 这个简短的宏:

Sub FixData()
   Dim r As Range, v As String, vOut As String
   For Each r In Selection
      v = r.Text
      vOut = ""
      If v <> "" Then
         ary = Split(v, " ")
         For i = LBound(ary) To UBound(ary)
            If InStr(1, ary(i), ":") > 0 Then
               vOut = vOut & vbCrLf & ary(i)
            Else
               vOut = vOut & " " & ary(i)
            End If
         Next i
         r.Value = vOut
      End If
   Next r
End Sub

之前:

及之后: