Excel VBA - 拆分多行中的一行数据

时间:2017-01-12 22:48:38

标签: excel vba excel-vba

我正在尝试获取excel文件,查看已填充的列,然后将一个excel行中的数据拆分为各行,并在此过程中使用VB消除某些列。我认为如果你看下面的图片会更有意义。

以下是我要分割的图像。

Before

以下是我希望如何拆分的图片。

After

如果有人可以帮助我使用VB代码,那就太好了。我是VB的新手并且正在努力学习。

1 个答案:

答案 0 :(得分:1)

以下代码如何:

Sub Format()

lastrow = ActiveSheet.UsedRange.Rows.Count

For x = lastrow To 2 Step -1

    If Range("G" & x).Value <> "" Then
        Rows(x + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        Range("A" & x + 1 & ":D" & x + 1).Value = Range("A" & x & ":D" & x).Value
        Range("E" & x + 1).Value = Range("G" & x).Value
        Range("G" & x).Value = ""
    End If

    If Range("F" & x).Value <> "" Then
        Rows(x + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        Range("A" & x + 1 & ":D" & x + 1).Value = Range("A" & x & ":D" & x).Value
        Range("E" & x + 1).Value = Range("F" & x).Value
        Range("F" & x).Value = ""
    End If

Next x

End Sub