【发布时间】:2014-06-23 13:58:05
【问题描述】:
我有一个定期导入的数据表,长度会发生变化。
所以,我想编写一些 VBA 代码来删除所有多余的行并将所有公式自动填充到最后一行。
我已经完成了第一部分。此代码找到最后一行,并删除它下面的所有内容。
Sub CleanData()
Dim lastrow As Long
Sheets("Open Operations").Select
Range(Cells(Rows.Count, 1).End(xlUp).Offset(1), _
Cells(Rows.Count, 1)).EntireRow.Delete
lastrow = ActiveSheet.UsedRange.Rows.Count
End Sub
我坚持的部分是我不确定如何自动填充任何需要它的列。这些列可能会发生变化,所以我希望我的代码能够处理这个问题。所以,我想遍历第一行中的所有单元格,从第一列到最后一列。然后,如果该单元格是一个公式,我想将公式填充到最后一行,如第一个代码块中定义的那样。
这是我目前所拥有的:
Dim lastcolumn As Long
lastcolumn = ws.Cells(1, Columns.Count).End(xlToLeft).Column
For Each c In ActiveSheet.Range("A1:A" & lastcolumn).Cells
If c.HasFormula = True Then
但我对 VBA 很陌生,我不确定如何使列填充到之前定义的最后一行。
编辑:澄清一下——我想遍历每列中的每个第一个单元格,直到最后一列。然后,如果该单元格包含一个公式,我想将该整列自动填充/填充到第一个代码块中定义的最后一行。
谢谢。
【问题讨论】: