作者:iamlaosong

用VBA对Excel文件进行处理的时候,keyword段的列号编程时往往是不知道的。须要通过參数设定才干知道,因此。我们编程的时候,就不能用这种语句取有效行数:

lineno = [B65536].End(xlUp).Row          '从下至上找有效行数

上述语句中的列名“B”假设是变量。能够用字符串连接的方式实现,即:

pos_ems = "C"

    lineno = Range(pos_ems & "65536").End(xlUp).Row

假设给的是列号,则用下列语句:

pos_ems = 3

   lineno = Cells(65536, pos_ems).End(xlUp).Row

假设该列全部须要处理的单元格都有值。也能够用下列语句:

lineno = [B1].End(xlDown).Row          '从上至下找有效行数

或者

ineno = Cells(pos_fst, pos_ems).End(xlDown).Row

语句中的pos_fst是有效数据的起始行,这个语句的优点是不用管工作表最大行数是65536还是1048576,缺点是假设有效数据仅仅有一行或者该列有空值的话。将取不到有效行数。这也是这样的方法不经常使用的主要原因。

上述语句中的变量pos_ems能够读取单元格的值,以便面对不同文件时随时设置:

    pos_fst = Cells(2, 7)
pos_ems = Cells(3, 7)
pos_sav = Cells(4, 7) lineno = [B65536].End(xlUp).Row '行数,文件数量 For unit_num = 5 To lineno '文件循环 datfile = Cells(unit_num, 2) '文件名
datFullName = ThisWorkbook.Path & "\" & datfile
If Dir(datFullName, vbNormal) <> vbNullString Then
Workbooks.Open Filename:=datFullName '打开订单文件
If Application.Version >= "12.0" And ActiveWorkbook.FileFormat = 51 Then
maxrow = Cells(1048576, pos_ems).End(xlUp).Row
Else
maxrow = Cells(65536, pos_ems).End(xlUp).Row
End If
Else
MsgBox "数据文件不存在。", vbOKOnly, "iamlaosong"
Exit Sub
End If

。。

Excel的版本号不同。最大行数和列数不同。2003版最大行数是65536行,最大列数是256列(最后一列IV)。Excel2007及以后的版本号最大行数是1048576行,最大列数是16384列(最后一列XFD)。
打开一个空白新建EXCEL表格,按CTRL+下箭头,能够查看到最大行数;按CTRL+右箭头,能够查看到最大列标(若想显示列数。可在最右一列的某单元格中输入=column()回车,出现数字就是最大列数)。

【VBA研究】用VBA取得EXCEL随意列有效行数的更多相关文章

  1. VBA取得EXCEL表格中的行数和列数

    VBA取得EXCEL表格中的行数和列数 初学EXCEL宏的童鞋,总是很想知道表格中含有数据的行数和列数,尤其是行数和列数不确定的情况下.这样可以避免很多的错误,并且可以提高效率.但每次用到的时候到网上 ...

  2. C# 获取打开的EXCEL中某列的行数

    背景 在通过C#操作EXCEL时 获取行数 int iRowCount = worksheet.get_Range("A65535", oMissing).get_End(MExc ...

  3. 【VBA研究】VBA自己定义函数參数类型不符的错误

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/iamlaosong/article/details/36871769 作者:iamlaosong 1 ...

  4. 【VBA研究】VBA通过HTTP协议实现邮件轨迹跟踪查询

    作者:iamlasong 1.接口说明 通过互联网訪问,运单跟踪信息查询接口基于HTTP协议开发,接口为RESTFul风格的Web Service,信息交互过程为用户按我方提供的web service ...

  5. Office EXCEL VBA如何取得EXCEL中的行数和列数

    VBA取得EXCEL表格中的行数和列数 请注意不要使用Columus等关键字作为变量,例如"Columus = ActiveSheet.UsedRange.Columns.Count&quo ...

  6. 用VBA计算WPS 表格ET EXCEL中的行数和列数的多重方法

    用VBA计算WPS 表格ET EXCEL中的行数和列数 每种方法中上面的是Excel的行数,下面的是Excel的列数. 方法1: ActiveSheet.UsedRange.Rows.Count Ac ...

  7. excel VBA返回选中单元格区域的行数、列数,以及活动单元格的行号和列号

    Private Sub Worksheet_SelectionChange(ByVal Target As Range) '可以直接sub(),不然选择就会触发vba    Dim rows_coun ...

  8. VBA嘘嘘嘘(1)——将Excel数据填入到已存在的Word模板表格(实例应用)

    傻瓜可以写出机器读懂得代码,但写出让人能读懂的代码的是优秀程序员 Sub 填充() Application.ScreenUpdating = False 'ScreenUpdating 是控制你的ex ...

  9. excel vba 实现跨表单(sheet) 搜索 - 显示搜索行记录搜索历史

    前两天,一个朋友问我,有没有办法在excel里实现一个表单里是原始数据,在另一个表单里显示搜索到的行,搜索关键词可用~分隔开,并把搜索历史记录下来? 我想了想,用vba实现肯定可以啊,但是我又在想,有 ...

随机推荐

  1. 微信小程序踩坑记

    1:微信小程序之去掉横向滑动滚动条 /** 去除横向滚动条 */ ::-webkit-scrollbar { width: 0; height: 0; color: transparent; } 2: ...

  2. 国庆 day 1 下午

    一道图论好题(graph) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK有一张无向图G={V,E},这张无向图有n个点m条边组成.并且这是一张带权图, ...

  3. EularProject 42:单词解码出来的三角形数

    Coded triangle numbers Problem 42 The nth term of the sequence of triangle numbers is given by, tn = ...

  4. hadoop学习;datajoin;chain签名;combine()

    hadoop有种简化机制来管理job和control的非线性作业之间的依赖.job对象时mapreduce的表现形式.job对象的实例化可通过传递一个jobconf对象到作业的构造函数中来实现. x. ...

  5. nodejs 实现简单 http 代理并缓存

    var http = require('http'), fs = require("fs"), url = require('url'), querystring = requir ...

  6. Linux/UNIX线程(1)

    线程(1) 本文将介绍怎样使用多个控制线程在单个进程环境中运行多个任务. 一个进程中的全部线程都能够訪问该进程的组成部件(如文件描写叙述符和内存). 线程包含了表示进程内运行环境必须的信息,当中包含进 ...

  7. powershell无法拖动文件到命令行

    PS C:\Program Files\PowerShell\6.0.0-beta.6> New-Service -Name LISA_43_Dev_Batch -DisplayName LIS ...

  8. 状态压缩dp初学__$Corn Fields$

    明天计划上是要刷状压,但是作为现在还不会状压的\(ruoruo\)来说是一件非常苦逼的事情,所以提前学了一下状压\(dp\). 鸣谢\(hmq\ juju\)的友情帮助 状态压缩动态规划 本博文的大体 ...

  9. <Sicily>Catch the thief

    一.题目描述 A thief has robbed a bank in city 1 and he wants to go to city N. The police know that the th ...

  10. Unified BeginFrame scheduling for Chrome

    Unified BeginFrame scheduling for Chrome http://goo.gl/D1Qxrr Status: http://crbug.com/401331 and ht ...