作者:iamlaosong

1、我有一个工具,Excel2003格式,因处理数据超过65536条,所以让用户另存为xlsm格式,结果用不了,仔细检查发现问题出在取EXCEL有效行数语句上,该语句如下:

MaxRow = [A65536].End(xlUp).Row

数据有30多万条,此语句执行结果是MaxRow值为0,这是因为65536行到1行都有数据。只要将65536改成超过数据的行数就可以得到正确结果,比如:

MaxRow = [A600000].End(xlUp).Row

正确的方法是用Excel文件数据最大行数表达式,即改成下面语句:

MaxRow = Range("A" & Rows.Count).End(xlUp).Row

其中Rows.Count就是当前版本Excel文件数据最大行数,2003版这个值是65536(2的16次方),2007以后的版本,这个值是1048576(2的20次方)。

MaxCol = Cells(1, Columns.Count).End(xlToLeft).Column

同理,Columns.Count就是当前版本Excel文件数据最大列数,2003版这个值是256(2的8次方),2007以后的版本,这个值是16384(2的14次方)。

上面两句还可以写成下面形式,效果基本相同:

MaxRow = [A1].End(xlDown).Row

MaxCol = [A1].End(xlToRight).Column

2、有个工具处理的数据,无法确定用哪一列定位有效行数,可以用工作表中已使用的行数来确定,这个方法的缺点是这个行数不一定是当前数据的最后一行,但肯定大于或等于最大行数。所以处理的时候需要进行数据判断,以便结束数据处理。方法如下:

MaxRow = ActiveSheet.UsedRange.Rows.Count
MaxRow = Sheets("sheet1").UsedRange.Rows.Count

用这个行数做数据清除,非常方便。例如,清除除表头以外A-H列的数据:

Sheets(stname).Range("A2:H" & MaxRow).ClearContents

注:已经用过的单元格,仅仅删除数据,仍然作为使用过来统计行数的,但对于一个新表来说,这个行数就是实际数据的有效行数。

【VBA研究】再论取EXCEL有效行列数方法相关推荐

  1. 【VBA研究】用VBA取得EXCEL有效行列数方法比较

    作者:iamlaosong 我常用下面方式取得有效行数: maxrow=sheets(1).[A65536].End(xlUp).Row 这一句的含义是从A列65536行开始向上找,碰到第一个非空单元 ...

  2. 【Python】Python转化dbf文件为Excel,获取Excel最大行列数

    文章目录 将dbf转化为Excel文件(代码完整) 可行方案 网上找的不可行方案 安装win32com Python 写Excel 读取Excel行数,列数 读取Excel最大行数 openpyxl不 ...

  3. VBA简单实现两个Excel文件的比较方法

    到财务走了一圈,正好看到一位同事正在对两个Excel文件进行比较.两个文件的内容大致如此(列出部分列名): 主贷身份证 主贷人 贷款余额 440602**** 李*瑜 ¥35,000 360102** ...

  4. VBA获取数据区域的行列数

    VBA获取数据区域的行列数 方法1 方法2 方法1 ActiveSheet.UsedRange.Rows.Count ActiveSheet.UsedRange.Columns.Count 缺点:把最 ...

  5. 【VBA研究】打印银行对账单(套打)

    iamlaosong文 根据需要打印银行对账单,打印方式是套打(这种应用很多,比如快递单.发票等),现就有关技术问题进行总结. 1.如何实现准确套打 1)将对账单样式图片插入excel,略微调整大小为 ...

  6. 再见 VBA!神器工具统一 Excel 和 Python

    作者 | 东哥起飞 来源 | Python数据科学 经常给大家推荐好用的数据分析工具,也收到了铁子们的各种好评.这次也不例外,我要再推荐一个,而且是个爆款神器. Excel和Jupyter Noteb ...

  7. excel表格行列显示十字定位_Excel行列十字交叉高亮显示

    Excel 行列十字交叉高亮显示 Excel 行列十字交叉高亮显示! Excel 中数据量比较大时, 有时候容易看花钱,行号列号看错,这个时候,可以使用简 单的 VBA 语句对选中单元格的行列进行高亮 ...

  8. 零售分析用vba还是python_数据分析?Excel、VBA和Python?营销套路还是大势所趋!...

    "添加关注,方便我们每天向您推送精彩资讯. 扫码申请加Excel微信群 交流心得 解决问题 验证信息:Excel 不懂业务的数据分析都是耍流氓-- 可是只懂业务却不会使用工具的话,效率低下只 ...

  9. excel python插件_再见 VBA!神器工具统一 Excel 和 Python

    大家好,我是东哥. 经常给大家推荐好用的数据分析工具,也收到了铁子们的各种好评.这次也不例外,我要再推荐一个,而且是个爆款神器. Excel和Jupyter Notebok都是我每天必用的工具,而且两 ...

最新文章

  1. 【MATLAB】三维图形绘制 ( 三维平面图 | 二维网格 | meshgrid 函数 | 绘制网格 | mesh 函授 | 绘制平面 | surf 函数 | 绘制等高线 | contour 函数 )
  2. 配置Git绑定Git@OSC
  3. HTML学习笔记之三(localstorage的使用)
  4. jvm系列(十):教你如何成为Java的OOM Killer
  5. 定制一个网络文件系统
  6. web前端(3)—— html标签及web页面结构
  7. 倪光南、求伯君“出山”:爱解 Bug、无惧“35岁魔咒”、编码之路痛并快乐!
  8. CodeCanyon上的12种最佳CSS动画
  9. if语句 power query_判断(if)语句
  10. Enco free2 固件降级详解
  11. 无法启动 Windows Event Log vpdn 无法启动 附带无法启动MYSQL服务”1067 进程意外终止”
  12. 工具人实锤!我用java中的文件IO流帮同事处理了足足18M的文本数据,泪目(一)
  13. 沐风老师3dsMax手把手教系列:椅子建模(款式001)
  14. 阿里云大学-虚拟化技术入门-听课笔记
  15. 软件测试 | 白盒的测试方法
  16. 联想电脑计算机无法正常启动怎么办,电脑蓝屏无法启动怎么办
  17. python中zerodivisionerror是什么意思-python里的raise是什么意思
  18. linux的centos7怎么分区,CentOS linux7 磁盘分区
  19. Visual Studio 2017 设置语言以及下载语言包
  20. r语言 断轴 画图_R语言作图——坐标轴截断画图

热门文章

  1. 楚河怎么下rust_沙盒战神在这游戏变弱鸡,疯狂被教做事!
  2. excel使用小技巧
  3. 读论文-NeRF学习笔记
  4. 爬虫 网站服务器瘫痪,如何解决搜索爬虫高频次抓取导致服务器崩溃的问题
  5. 一分钟讲透物联网和物联网的发展前景
  6. 多核心和单核心CPU怎样工作的?
  7. 读书笔记_第二十一章
  8. 东软睿道实训日记—第一天
  9. 手机屏幕分辨率规格尺寸全解析
  10. 在Maya中快速建模的几种技巧!新手都看呆了,你还不会?