作者: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. SpringBoot学习笔记(1)----环境搭建与Hello World

    简介: Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配 ...

  2. 关于注意力机制(《Attention is all you need》)

    深度学习做NLP的方法,基本上都是先将句子分词,然后每个词转化为对应的词向量序列.(https://kexue.fm/archives/4765) 第一个思路是RNN层,递归进行,但是RNN无法很好地 ...

  3. 启动tomcat运行maven工程报错:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:

    控制台报错信息:

  4. How Javascript works (Javascript工作原理) (四) 事件循环及异步编程的出现和 5 种更好的 async/await 编程方式

    个人总结: 1.讲解了JS引擎,webAPI与event loop合作的机制. 2.setTimeout是把事件推送给Web API去处理,当时间到了之后才把setTimeout中的事件推入调用栈. ...

  5. 拉格朗日插值&&快速插值

    拉格朗日插值 插值真惨 众所周知$k+1$个点可以确定一个$k$次多项式,那么插值就是通过点值还原多项式的过程. 设给出的$k+1$个点分别是$(x_0,y_0),(x_1,y_1),...,(x_k ...

  6. Vue中两种跳转方式

    第一种:通过标签跳转,<router-link></router-link> 第二种:通过js跳转,定义点击事件进行跳转

  7. pandas 3 设置值

    from __future__ import print_function import pandas as pd import numpy as np np.random.seed(1) dates ...

  8. [luogu] P4514 上帝造题的七分钟 (树状数组,二维差分)

    P4514 上帝造题的七分钟 题目背景 裸体就意味着身体. 题目描述 "第一分钟,X说,要有矩阵,于是便有了一个里面写满了0的n×m矩阵. 第二分钟,L说,要能修改,于是便有了将左上角为(a ...

  9. idea 包的显示方式

    idea 可以通过点击Project的导航栏里的小齿轮里面有一个 Flatten packages 选项,将其勾上.就可以得到跟eclipse一样的包的显示方式. 没有设置默认是这样的 2018-06 ...

  10. Qt之QImageWriter

    简述 QImageWriter类为写入图像至文件或设备提供了一个独立的接口.QImageWriter支持格式特定的选项(如:质量和压缩率),可以在存储图像之前进行设置.如果不需要这些选项,可以使用QI ...