假设您的数据在单个单元格中,那么您的任务分为三个部分:
- 从文本文件中读取数据
- 解析每个单元格
- 将结果存储在列中
此代码仅涉及第二部分:
Sub ParseData()
Dim s1 As String
s1 = Range("A1").Text
s1 = Replace(s1, " ", "|")
s1 = Replace(s1, "/", "|")
s1 = Replace(s1, "[", "|")
s1 = Replace(s1, "]", "|")
s1 = Replace(s1, ",", "|")
s1 = CleanUp(s1, "|")
ary = Split(s1, "|")
i = 1
For Each a In ary
Cells(i, 2).NumberFormat = "@"
Cells(i, 2).Value = a
i = i + 1
Next a
End Sub
Public Function CleanUp(sIN As String, sep As String) As String
Dim temp As String, temp2 As String, i As Long, CH As String
temp = sIN
While Left(temp, 1) = sep
temp = Mid(temp, 2)
Wend
While Right(temp, 1) = sep
temp = Mid(temp, 1, Len(temp) - 1)
Wend
temp2 = ""
For i = 1 To Len(temp)
CH = Mid(temp, i, 1)
If temp2 = "" Then
temp2 = CH
ElseIf CH <> sep Then
temp2 = temp2 & CH
ElseIf Right(temp2, 1) <> sep Then
temp2 = temp2 & CH
End If
Next i
CleanUp = temp2
End Function
注意事项:
代码用单个管道替换各种字段分隔符。然后使用管道拆分数据。然后将生成的数组存储在单元格中: