我想找到一种方法,在用文本填充前一行后,会出现一个新行。这是为了用作引用工具。
我目前有一个表格,上面有待完成的任务行,底部有成本摘要。我希望它以一个空白行开始,让我在其中输入条目,然后在输入后立即添加一个新行,以便让我在需要时添加新条目。
我尝试了各种方法,包括添加一个宏按钮,单击后即可插入一行,但我更希望它能自动完成,因为按钮方法要求输入行,这可能会导致错误。我也尝试在 VBA 中使用以下内容,但出现了溢出错误。我尝试根据在网上其他地方找到的内容对此进行修改。我是 VBA 新手,只是模糊地知道我哪里做错了。
Sub AddBlankRows()
'
Dim iRow As Integer, iCol As Integer
Dim oRng As Range
Set oRng = Range("D6")
iRow = oRng.Row
iCol = oRng.Column
Do
'
If Not Cells(iRow, iCol).Text = "" Then
Cells(iRow + 1, iCol).EntireRow.Insert shift:=xlDown
iRow = iRow + 2
Else
iRow = iRow + 1
End If
'
Loop While Not Cells(iRow, iCol).Text = "Description of Work"
'
End Sub
答案1
这是错误的方法。没有 VBA 知识是不可能做到这一点的。
但您可以尝试使用命名表(仅限 MS Excel 2007 及更高版本)。创建包含三列(条目、成本、费用)的表,填写第一行,选择此表并按 CTRL+T(选中有关标题的复选框)。
现在,您有了带过滤器的表格(仅应用于表格范围)。当您将一些数据填充到表格下的行时,它将自动添加到表格中。最好的是,您可以轻松地对整个*表格列执行 SUM(或其他公式)!=SUM(Table_name[Column_name])
当选择表中的单元格时,可以在出现的功能区列表中编辑表名称。