VBA END 用法

For irow = 1 To [A65536].End(3).Row

        If Abs(Cells(irow, 1).End(2) - Cells(irow, 256).End(1)) / Cells(irow, 1).End(2) > 0.1 Then Cells(irow, 1).End(2)(1, 2) = Cells(irow, 256).End(1)
    Next

括号中的1、2、3、4分别代表向左、向右、向上、向下。END(x)表示从指定的单元格向左、向右、向上、向下最后一个有效RANGE

以Cells(irow, 1).End(2)为当前单元格,向右移一位。
假如Cells(irow, 1).End(2)为B2,Cells(irow, 1).End(2)(1, 2) 为C2

end(xlup)是向上,end(xldown)是向下,end(xltoleft)是向左,end(xltoright)是向右


[A65536].End(xlUp).row 中[A65536]是什么意思?

在1995-2006年,excel工作簿包含65536行,但现在的office 2007中工作簿包含1048576行。[A65536]就是A列的最后一行的意思,这段话的意思就是,从A列最后一行向上找,找到有数据的行为止。

是从A列最下面往上遇到的有数据的列号
如果{A27}是你数据的最后列
I=[A65536].End(xlUp).row
则I就是27


[a65536].End(3)的意思是查找A列最后一个非空单元格,比如找到非空单元格为A2
[a65536].End(3)(2, 1)

(2,1)是数据行最末行的下一空单元格;(1,2)是数据行最末一个单元格的右侧单元格

你可能感兴趣的:(学习)