作者:绿色风
分类:
时间:2022-08-17
浏览:100
楼主 kevinchengcw |
Q: 在公式操作中也经常需要判断行/列中有数据的单元格的最大下标,有什么好办法呢? A: 通过VBA可以很容易的得到对应行或列的有数据单元格的最大下标值,基于此,我们可以通过自定义函数的方式来实现: 步骤1:打开要利用该自定义函数的工作簿,按Alt+F11进入VBA编辑器,插入模块。 步骤2:复制下述代码到模块中: 1. 判断行/列最大下标的二合一函数,通过参数逻辑值isRow来决定执行判断行还是列标最大值,如果isRow为假或省略,则返回所在行的列标最大值,否则返回所在列的行标最大值 用法:=MaxRC(1) 或 =MaxRC(True) 为返回所在列的行标最大值, =MaxRC(0) 或 =MaxRC(False) 或 =MaxRC() 为返加所在行的列标最大值
- Function MaxRC(Optional isRow As Boolean) As Integer
- MaxRC = IIf(isRow = False Or IsMissing(isRow), Cells(Application.Caller.Row, Rows(Application.Caller.Row).Cells.Count).End(xlToLeft).Column, _
- Cells(Columns(Application.Caller.Column).Cells.Count, Application.Caller.Column).End(xlUp).Row)
- Application.Volatile
- End Function
2.仅判断所在列行标最大值的函数,用法:在单元格输入 =MaxRow() 即可
- Function MaxRow() As Integer
- MaxRow = Cells(Columns(Application.Caller.Column).Cells.Count, Application.Caller.Column).End(xlUp).Row
- Application.Volatile
- End Function
3.仅判断所在行的列标最大值的函数,用法:在单元格输入 =MaxCol() 即可
- Function MaxCol() As Integer
- MaxCol = Cells(Application.Caller.Row, Rows(Application.Caller.Row).Cells.Count).End(xlToLeft).Column
- Application.Volatile
- End Function
以上函数的行列总数均采用实时判断获得,故通用性较好 |
2楼 成就滋味 |
学习~~~~ |
3楼 后知 |
嗯嗯 我来实践下 很强大 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一