将单行数据转换为多行 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

输出结果