使用 "currentregion" 进行数据填充时忽略基于公式的列
Ignoring formula based columns when using "currentregion" for data population
我正在尝试为我的同事制作工作费用报告表,但我 运行 遇到了问题。
表单找到分布中的下一个空行sheet,然后将数据写入该行。问题是我的 sheet 的前三列是基于公式的,并拖累了整个传播sheet。因为我使用的是 "currentregion" 属性,这意味着表单会在所有公式之后写入新的详细信息,即使它们是空白的并且取决于输入。这是我的数据输入代码(还有更多,但这是相关部分)。
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 列之间输入一个空白列(从基于公式的列中切断当前区域)来抵消这种情况,但这是一种迂回的方式,看起来不整洁。有没有一种干净的方法可以让我将整个 table 作为一个连续的块?我假设它是通过行计数 属性 但我不知道如何以不同的方式对其进行编程。
尝试在 D 列中找到最后填充的行。假设代码在相关工作表的代码模块中(这就是下面代码中 "me" 的内容)...
With Worksheets("Data Entry")
Rowcount = .Cells(.Rows.Count, 4).End(xlUp).Row
End With
我正在尝试为我的同事制作工作费用报告表,但我 运行 遇到了问题。
表单找到分布中的下一个空行sheet,然后将数据写入该行。问题是我的 sheet 的前三列是基于公式的,并拖累了整个传播sheet。因为我使用的是 "currentregion" 属性,这意味着表单会在所有公式之后写入新的详细信息,即使它们是空白的并且取决于输入。这是我的数据输入代码(还有更多,但这是相关部分)。
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 列之间输入一个空白列(从基于公式的列中切断当前区域)来抵消这种情况,但这是一种迂回的方式,看起来不整洁。有没有一种干净的方法可以让我将整个 table 作为一个连续的块?我假设它是通过行计数 属性 但我不知道如何以不同的方式对其进行编程。
尝试在 D 列中找到最后填充的行。假设代码在相关工作表的代码模块中(这就是下面代码中 "me" 的内容)...
With Worksheets("Data Entry")
Rowcount = .Cells(.Rows.Count, 4).End(xlUp).Row
End With