使用" currentregion"时忽略基于公式的列用于数据填充

时间:2015-01-23 14:55:29

标签: excel vba encoding rowcount

我试图为我的同事制作一份费用报表以供使用,而且我遇到了问题。

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

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列之间输入一个空白列(从基于公式的列中删除当前区域)来抵消这种情况,但这是一种迂回的方式,看起来不整洁。是否有一种干净的方法可以让我将整个表格作为一个连续的块?我假设它通过rowcount属性,但我无法弄清楚如何以不同方式编程。

1 个答案:

答案 0 :(得分:1)

尝试在D列中找到最后一个填充的行。假设代码位于相关工作表的代码模块中(那是" me"在下面的代码中)...

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