0

这个问题对我来说有点难以解释,但我希望它对某人有意义。目前在我的单元格上设置范围方面,我总是在添加我的函数之前给它某种形式的限制(例如 Range("A1:A10")),但我现在想制作一个更灵活的宏其中限制基于记录在电子表格列中的最后一个单元格行。我使用的电子表格链接到一个数据库,我在该数据库中每周刷新一次,我得到的行范围可能会有所不同,例如一天是 250 行,下一天是 300 行,有时又回到 275 行。必须有一个更简单的方法来解决这个问题,我每次刷新电子表格时都不必更改 vba 宏的范围限制。我可以想象这是一个如此简单的解决方案,尽管我无法弄清楚如何在没有我阅读太多内容并进一步混淆自己的情况下解决这个问题。在这种情况下,我是否正在考虑使用一种循环形式,如果是,我该怎么做?

4

1 回答 1

0

要获得最后一行,您可以执行以下操作

Dim last_row as Integer, input_sheet as Worksheet, col_number as Integer
col_number = 1
Set input_sheet.Sheets(1) ' change it accordingly
last_row = input_sheet.Cells(input_sheet.Rows.Count, col_number).End(xlUp).Row

这基本上是选择工作表A列的最后一行并复制“Ctrl”+“向上方向”的动作。所以你最终排在最后一排。您可以根据自己的需要进行相应的修改。

于 2012-10-08T09:27:27.373 回答