EXCEL工作表中,最多可使用()行(excel最大值所在行)
EXCEL工作表中,最多可使用()行,原文标题:Excel 如何获取工作表最大行和列,两个属性基本解决,还不会吧。No.1由于版本不同,Excel可处理的最大行和列都
EXCEL工作表中,最多可使用()行,原文标题:Excel 如何获取工作表最大行和列,两个属性基本解决,还不会吧。
No.1
由于版本不同,Excel可处理的最大行和列都有一定的限制要求,如何来获取这些值来对编辑的程序进行容错处理,就显得十分重要。
本节主要介绍两个属性,可返回工作表的行和列。

上图是两个属性:Application.Columns 和 Application.Rows
如果熟悉VBA,对此也不会陌生,Application.Columns 返回一 个 Range 对象,该对象代表活动工作表上的所有列;Application.Rows返回一 个 Range 对象,该对象代表活动工作表上的所有行。
语法:
Application.Columns
Application.Rows
在不使用对象识别符的情况下使用此属性等效于使用 ActiveSheet.Rows,也就是当前工作表的行数。

上图是示例,返回当前工作表行数,然后定义一个数组,保存到数组中。
注意:这个数组大小是有一定要求的,并不是说把所有行都会保存在数组中,由于内存硬件的限制会出现内存会溢出错误。
如何对这个错误进行规避呢?可以使用一些错误提示机制来进行。
本例中用到另一个对象Err,可以在出现内存溢出的时候提前结束定义数组,也就实现了溢出前停止数组定义,那么多出的数据就不能进行数组处理了。
其实,从这一方来讲,VBA并不能完美地解决任何问题,特别是当数据量达到一个量级的时候就无法进行了。
这就和计算机的硬件有关了,并不是软件存在问题,如果硬件达到无限可能,软件实际上是没有边际的。
这也就是说Excel是一个相对轻量组的数据管理软件,对于更大数据处理就无能为力了。
那样的情况下可以转移到数据库当中进行处理,是真的好。

No.2
代码
Private Sub CommandButton1_Click()Dim rArr, ri As Long, R As Range, R1 As Range, R2 As Range, R3 As Range, Rs As RangeSet Rs = Application.Rows'返回行单元格Set R1 = ActiveSheet.Range("A1")Set R2 = ActiveSheet.Range("A2")Set R3 = ActiveSheet.Range("A3")ReDim rArr(0) For Each R In Rs On Error GoTo Ne100'如果出现错误 程序跳转到Ne100: ReDim Preserve rArr(ri)'重定义数组 rArr(ri) = R.Value'数组赋值 R1.Value = ri ri = ri 1 Next RNe100:R2.Value = "当前数组有: " & UBound(rArr) & "个元素"R3.Value = "当前工作表有: " & Rs.Count & "个单元格行"MsgBox Err.Description & VBA.vbCrLf & Err.Number'输出错误提示Err.ClearErase rArr'释放数组Set Rs = NothingSet R = NothingThisWorkbook.SaveEnd Sub
如果没有研究,不建议调试上述代码,特别是在重要文件当中,虽然做了一些避免内存溢出处理方法,但是在多次调试过程当中,同样会出现内存溢出,导致Excel应用重启。
欢迎关注、收藏
—END—
本文《EXCEL工作表中,最多可使用()行(excel最大值所在行)》由网赚联盟( wangzhuan.org.cn )整理或原创,感谢您的阅读。随机文章
友情链接交换搜素引擎算法
关键词排名优化
GEO培训
SEO教程
站长导航
搜素引擎算法
关键词排名优化
百度搜索“网赚联盟”即可找到本站,微信搜索“小小课堂网”关注小小课堂网公众号。网赚联盟( wangzhuan.org.cn )欢迎用户投稿,发布者:江觅,文章版权归作者所有,投稿文章不代表网赚联盟立场,中二少年发布为网赚联盟原创文章,转载请注明出处:https://wangzhuan.org.cn/564311.html

微信扫一扫
支付宝扫一扫