将“currentregion”用于数据填充时忽略基于公式的列

我正在努力为我的同事制作费用报告表格,并且遇到了问题。

表单find电子表格中的下一个空行,然后将数据写入该行。 问题是我的工作表的前三列是基于公式的,并在整个电子表格中向下拖动。 因为我正在使用“currentregion”属性,这意味着表单将在所有公式之后写入新的细节,即使它们是空白的并且取决于input。 这里是我的数据input代码(还有更多,但这是相关的部分)。

Rowcount = Worksheets("Data Entry").Range("D1").CurrentRegion.Rows.Count With Worksheets("Data Entry").Range("D1") .Offset(Rowcount, 0).Value = Me.txtDOY.Value .Offset(Rowcount, 1).Value = Me.cboClient.Value .Offset(Rowcount, 2).Value = Me.cboProject.Value .Offset(Rowcount, 3).Value = Me.cboType.Value .Offset(Rowcount, 4).Value = Me.txtDescription.Value .Offset(Rowcount, 5).Value = Me.txtAmount.Value .Offset(Rowcount, 6).Value = Me.txtMiles.Value .Offset(Rowcount, 7).Value = Me.txtRate.Value End With 

我已经能够通过在列C和列D之间input一个空白列(从基于公式的列中删除当前区域)来抵消这一点,但是这是一个迂回的做法,看起来不整洁。 有没有一个干净的方法来做到这一点,让我离开整个表作为一个连续的块? 我认为这是通过rowcount属性,但我不知道如何以不同的方式编程。

试着在列D中find最后一个已填充的行。假设代码位于相关工作表的代码模块中(这就是下面代码中的“我”)。

 With Worksheets("Data Entry") Rowcount = .Cells(.Rows.Count, 4).End(xlUp).Row End With