行计数适用于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的信息。日期,名字,姓氏,他们所教的课程,课程的持续时间等。
我创建了一个宏,它为下一个类插入另一行,因为经理想要捕获每个类的时间。
因此,大多数员工每天都要教8节课以上。因此,将有8个“时间输入”行。然而,如果他们只教一节课,可能只有一条线。紧跟在时间输入行之后(根据请求经理的指示),他们想要有一个行,其中包含关于在下午4:00之前提交时间工单等的一些免责声明。
因此,为了回答关于计算xlUp的一些评论,我不能肯定地说开始行总是某一行。
我希望这有助于澄清
发布于 2019-08-26 12:17:00
如果它一直计算到单行条目的底部,则页脚不在其路径中,否则它将引用页脚的第一行。因此,您可以使用以下语句,该语句将返回E列中最后一个条目的行号,然后减去6,以说明第一个条目位于第7行
rCount = ActiveWorkbook.Sheets("TimeCard").Cells(Rows.Count, "E").End(xlUp).Row - 6https://stackoverflow.com/questions/57651429
复制相似问题