将单行数据转换为多行Excel数据

时间:2015-03-05 05:38:26

标签: excel vba excel-vba corruption

我有一个已损坏的数据库。数据已作为CSV输出,但它只有一行数据。除偶尔的分号外,每个数据记录都没有描述。

我想找到每个分号,然后选择从下一个单元格到结尾的所有内容,剪切并粘贴到下一行的开头,然后重新开始(作为循环宏,直到不再有分号的实例为止)实测值)。

以下是一些示例数据: 公司名称,公司电话,街道地址,地址详细信息,郊区/城市,州,邮政编码,电话,交易时间,客户联系“;” (并重复......几千次)。

这是我试过的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

1 个答案:

答案 0 :(得分:0)

尝试这种方法

Sub test()
    Dim SplitTranspose, x%
    SplitTranspose = Split([A1], ";")
    For x = 0 To UBound(SplitTranspose)
        Cells(x + 1, 1) = SplitTranspose(x)
    Next
End Sub

输出结果

enter image description here