请问这句话是什么意思?特别是[C65536]和End(3)、Cells(i,6)分别是什么意思?(excel里面的VBA语言)谢谢
For i = 1 To [C65536].End(3).Row
Cells(i, 6) = Cells(i, 1).End(3) & "\" & Cells(i, 2).End(3) & "\" & Cells(i, 3)
Next
End Sub 展开
虽然说问题很久前了,但是为什么不自己去试着在excel里面运行下,查看下结果呢?
首先说明:【1】2003版excel最大行位65536行,excel 2007中工作簿包含1048576行
【2】END(x)表示从指定的单元格向左、向右、向上、向下最后一个有效RANGE。end(3)括号中的1、2、3、4分别代表向左、向右、向上、向下。
参考Excel VBA 之 Xldown和Xlup说明:Xldown和Xlup是用于寻找某个区间中的非空单元格。【区间】要注意。最后的截图,一看便知此句意思。顺便这个链接Excel VBA 之 Xldown和Xlup可详细了解
解释:
【1】For i = 1 To [C65536].End(3).Row ‘FOR循环,i=1到C列65536行开始往上找,找到最靠近65536行的有数据的一行为止【既从C列第一行到->单元格内有数据的最后行】。
【2】:Cells(i, 6) = Cells(i, 1).End(3) & "\" & Cells(i, 2).End(3) & "\" & Cells(i, 3)
cell(i,6):第6列i行:既F列i行的内容 ;
cells(i,1).end(3) :从A列i行开始往上找,如果cells(i,1)内容为非空,则到有连续数据区域(单元格都是非空、有内容)的最后行(最后,最末行是单元格A1)。
如果被选中的单元格为空,空格则直接跳过,直到空格区域的上一行有数据为止
或者说:end(3)和end(xlup)含义是一样的
xlDown:
从被选中的单元格向下寻找,如果被选中单元格为空、或者被选中的单元格的下一行为空,则一直向下走到第一个非空单元格;
如果被选中单元格为非空,则向下走到最后一个非空单元格。
xlUp:
只需要将 xlDown的规则倒过来,向上走,就是xlUp的规则
详细见截图
[C65536].End(3)表示单元格[c65536](excel03最多是65536行) 从这个单元格往上到有数据的一行停止 为了查找数据一共有多少行 Cells(i, 1).End(3)得出的是A1的值(我猜这个有问题吧 原意他是不是想要得到cells(i,1)的最后三个字符呢?但是 Cells(i, 1).End(3)得出的只是A1的值) cells(i,6)表示第六列的某个单元格 具体依照i的值变 i=1就是第一行第六列
2011-04-14 · 知道合伙人软件行家
[C65536].End(3).Row这个是C列最后一个非空白单元格的行号。假设为10
那么循环即从1到10
Cells(i, 6)即F1:F10的值等于
Cells(i, 1).End(3) & "\" & Cells(i, 2).End(3) & "\" & Cells(i, 3)
Cells(i, 1).End(3) 这个是什么?取得不到值啊。是空的
那么Cells(i, 1).End(3) & "\" & Cells(i, 2).End(3) & "\" & Cells(i, 3)
变成:
"\" & "\" & Cells(i, 3)
即c1:c10单元格前面的值加上"\\".假设C1等与5.那么A1等于\\5.