【问题标题】:Excel VBA - Split one row data in mutiple rowsExcel VBA - 将一行数据拆分为多行
【发布时间】:2017-01-12 22:48:37
【问题描述】:

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

下面是我要拆分的图像。

下面是我希望它如何拆分的图像。

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

【问题讨论】:

  • 您是否已经尝试编写一段可以分享的代码?

标签: vba excel


【解决方案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

【讨论】:

  • 谢谢。这很有帮助。欣赏它。我添加了删除列 F 和 G 的代码,这样代码运行时就没有标题了。
  • @Gary 不用担心,很高兴为您提供帮助。您也可以执行 Range("F1:G1").Value = "" 来清除标题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多