0

我正在尝试在 excel 中构建一个宏,它将采用这样的一堆数据:

D 1 2 3 4 5
D 1 2 3 9 5
D 1 2 3 4 5

并在第 4 列中的值不同时对其进行处理以插入一行。我还想同时使用静态值或公式填充此行。

因此,理想情况下,使用上表我会得到:

D 1 2 3 4 5
H A B C D E   <- This row got added as there was a change in column D
D 1 2 3 9 5
H A B C D E   <- This row got added as there was a change in column D
D 1 2 3 4 5

我希望它遍历一个很长的列表。

任何人都可以给我任何指示吗?

谢谢您的帮助。

4

1 回答 1

0

像这样的东西应该工作。我没有测试它,但是如果你运行它并使用 F8 来迭代它应该很容易调试,如果它不能完全按预期工作。

Dim i as integer

for i = 2 to cells(1,1).end(xldown).row 'itereate thru all rows
  if cells(i,4).value <> cells(i-1,4).value then 'compare the cells in col 4 with previous row
    rows(i).entirerow.insert 'insert a row if the values don't match
    cells(i,1) = "A"
    cells(i,2) = "B"
    cells(i,3) = "C"
    cells(i,4) = "D"
    cells(i,5) = "E"

    i = i + 1 'since we inserted a row we have to make i bigger to go down
  end if
next i
于 2013-06-21T13:36:46.790 回答