Excel VBA函数,可根据相邻单元格设置范围

Excel VBA函数,可根据相邻单元格设置范围,excel,range,vba,Excel,Range,Vba,这个问题对我来说有点难解释,但我希望它能对某些人有意义。 目前,在设置单元格范围方面,在添加函数之前,我总是给它某种形式的限制(例如范围(“A1:A10”)),但现在我想制作一个更灵活的宏,该限制基于电子表格列中记录的最后一个单元格行。我使用的电子表格链接到一个数据库,在这个数据库中我每周刷新一次,我得到的行的范围可以是一天250行,下一天300行,有时甚至275行。 必须有一个更简单的方法来解决这个问题,我不必每次刷新电子表格时都更改vba宏的范围限制。我可以想象这是一个如此简单的解决方案,虽

这个问题对我来说有点难解释,但我希望它能对某些人有意义。 目前,在设置单元格范围方面,在添加函数之前,我总是给它某种形式的限制(例如范围(“A1:A10”)),但现在我想制作一个更灵活的宏,该限制基于电子表格列中记录的最后一个单元格行。我使用的电子表格链接到一个数据库,在这个数据库中我每周刷新一次,我得到的行的范围可以是一天250行,下一天300行,有时甚至275行。
必须有一个更简单的方法来解决这个问题,我不必每次刷新电子表格时都更改vba宏的范围限制。我可以想象这是一个如此简单的解决方案,虽然我不知道如何去做,但我对它读得太多,并进一步困惑自己。在这种情况下,我是否考虑使用循环的形式?如果是,我该怎么做?

要获得最后一行,您可以这样做

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”+“Up direction”的操作。所以你最后一排。您可以根据需要对其进行相应修改