vba 怎么表示非空最后一行

vba 怎么表示非空最后一行,第1张

两种方法
第一:看列
2003最大列 65536 其他自己找
比如A列
range("a65536")end(xlup)row
第二:看使用区域
sheetusedrangerowscount
如果从第一行往下有连续几个空行的,还要加上这几个空行的数量

如果数据查找列是数值,那么输入

=LOOKUP(9E+307,1:1)

如果数据查找列是文本,那么输入

=LOOKUP(1,0/(1:1<>""),1:1)

详见附图

公式1:

=MAX((A:A<>"")(ROW(A:A)))

编辑状态下同时按下Ctrl+Shift+Enter,当出现大括号即可。

公式2:

=MATCH(LOOKUP(1,0/(A2:A1000<>""),A2:A1000),A2:A1000,)+1

不适用于有重复值。

=MATCH(LOOKUP(1,0/SUBTOTAL(103,INDIRECT("A"&ROW(1:1000))),A1:A1000),A1:A1000,)

你的图太小,不知道你是要计算还是别的
如果是求和/统计等,可以用subtotal( ) 函数
比如subtotal(109,C2:c7) ,就是求和C列C2-C7,但不包含隐藏行的数据
subtotal(参数一,参数二),其中参数一及其对应功能函数关系如下:
参数值(包含隐藏值) 参数值(忽略隐藏值) 函数
1 101 AVERAGE(平均值)
2 102 COUNT(计算单元格个数)
3 103 COUNTA(计算非空单元格个数)
4 104 MAX(最大值)
5 105 MIN(最小值)
6 106 PRODUCT(乘积)
7 107 STDEV(样本的标准偏差)
8 108 STDEVP(样本总体的标准偏差)
9 109 SUM(求和)
10 110 VAR(样本方差)
11 111 VARP(样本总体方差)

参数二是数据区域。

所要取的列里的数据必须是数字才可以用下面的公式
放到一个文档里处理吧要不你没次都要同时打开这两个文档
假设你第一个工作表是sheet1,第二个工作表是sheet2 那么在sheet1的A1中输入=LOOKUP(9E+307,Sheet2!E:E)就可以取到
如果确定不能放在一个文件中,
第一个文件名AAA第二个文件名BBB 那么在A1中输入=LOOKUP(9E+307,[BBBxls]sheet1!E:E)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13351188.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-19
下一篇 2023-07-19

发表评论

登录后才能评论

评论列表(0条)

保存