excel - 用数据计算行数

标签 excel vba

行数适用于 2 个或更多填充的行。如果仅填充了一行,则改为计算最大 excel 行。如何处理单行计数器?

计算 excel 表单中填充的行以创建用于上传到另一个系统的 csv 文件的复制/粘贴。

只要有两行或多行填充数据,该代码就可以很好地工作。
但是,如果它计算单行,它会一直计数到底部 120400 或任何最大 excel 行。 (题外话)。现在 100 次中有 99 次都可以,但最终用户可能会尝试进行单行输入。
rCount = ActiveWorkbook.Sheets("TimeCard").Range("E7", ActiveWorkbook.Sheets("TimeCard").Range("E7").End(xlDown)).Rows.Count
上面的场景有时间卡的工作表,有 6 行标题和信息。因此,第一个输入行是 7。我在 E 列中有公式,所以 E 列中总是有数据,因此我使用 E 列进行计数。如果用户只填写 2 行或更多行,则上面的代码可以正常运行。如何处理单行输入?

添加到此以提供更多清晰度。

所以工作表是一个时间输入工作表。有 5 行品牌信息和说明信息等等。

第 6 行是员工将要输入的信息的实际标题。

第 7 行有一堆可供员工选择的数据验证列表,即发送到 payroll IE 的信息。日期,名字,姓氏,他们教的类(class),类(class)的持续时间等。

我创建了一个宏,它为下一个类(class)插入另一行,因为经理想要捕获每个类(class)的时间。

因此,大多数员工每天教超过 8 节课。因此将有 8 个“时间输入”行。
但是,如果他们只教一门课,则可能只有一行。紧接着时间输入行(根据请求经理的指示),他们想要一行有一点关于在下午 4:00 之前提交时间票等的免责声明。

因此,要回答有关计数 xlUp 的一些评论,我不能肯定地说起始行将始终是某一行。

我希望这有助于澄清

最佳答案

如果它一直计数到单行条目的底部,则页脚不在其路径中,否则它将引用页脚的第一行。因此,您可以使用以下语句,它将返回 E 列中最后一个条目的行号,然后减去 6 以说明第一个条目位于第 7 行的事实

rCount = ActiveWorkbook.Sheets("TimeCard").Cells(Rows.Count, "E").End(xlUp).Row - 6

关于excel - 用数据计算行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57651429/

相关文章:

c++ - 在没有 API 的情况下以编程方式重命名 excel 工作表

excel - 复制串联列并粘贴两次

excel - VBA 选择具有部分名称的工作簿

excel - 共享/分发 Excel 宏的最佳方式是什么?

c# - 如何检测 Excel 工作簿是否关闭(在 C# 中使用 Interop)?

excel - 为什么 "get Elements By Name"不起作用?

Python COM 互操作 - 工厂模式

excel - 一个单元格中的值更改时的多个时间戳

VBA宏查找重复项并保持更大的值

excel - 当单元格值更改时自动运行宏(用户未更改)