作者: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 '从上至下找有效行数
上述语句中的变量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。。
。
联系客服