根据 '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
之前:
及之后:
我正在清理大量具有如下共同模式的数据:
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
之前:
及之后: