将单行数据转换为多行 Excel 数据
Convert single line of data into multiple lines of Excel data
我的数据库已损坏。数据已作为 CSV 格式输出,但只有一行数据。除了偶尔的分号外,每个数据记录都没有描述。
我想找到每个分号,然后 select 从下一个单元格到末尾的所有内容,剪切并粘贴到下一行的开头,然后重新开始(作为循环宏,直到没有发现了更多分号实例)。
下面是一些示例数据:
公司名称、公司phone、街道地址、详细地址、suburb/city、州、post代码、电话phone、交易时间、客户联系方式“;” (并重复……几千次)。
这是我试过的 VBA 代码:
Sub findnext()
Range("A1").Select
Cells.Find(What:=";", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
Range(Selection, Selection.End(xlToRight)).Select
Selection.Cut
Columns("A").Find("", Cells(Rows.Count, "A")).Select
ActiveSheet.Paste
End Sub
试试这个方法
Sub test()
Dim SplitTranspose, x%
SplitTranspose = Split([A1], ";")
For x = 0 To UBound(SplitTranspose)
Cells(x + 1, 1) = SplitTranspose(x)
Next
End Sub
输出结果
我的数据库已损坏。数据已作为 CSV 格式输出,但只有一行数据。除了偶尔的分号外,每个数据记录都没有描述。
我想找到每个分号,然后 select 从下一个单元格到末尾的所有内容,剪切并粘贴到下一行的开头,然后重新开始(作为循环宏,直到没有发现了更多分号实例)。
下面是一些示例数据: 公司名称、公司phone、街道地址、详细地址、suburb/city、州、post代码、电话phone、交易时间、客户联系方式“;” (并重复……几千次)。
这是我试过的 VBA 代码:
Sub findnext()
Range("A1").Select
Cells.Find(What:=";", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Activate
Range(Selection, Selection.End(xlToRight)).Select
Selection.Cut
Columns("A").Find("", Cells(Rows.Count, "A")).Select
ActiveSheet.Paste
End Sub
试试这个方法
Sub test()
Dim SplitTranspose, x%
SplitTranspose = Split([A1], ";")
For x = 0 To UBound(SplitTranspose)
Cells(x + 1, 1) = SplitTranspose(x)
Next
End Sub
输出结果