请问这句话是什么意思?特别是[C65536]和End(3)、Cells(i,6)分别是什么意思?(excel里面的VBA语言)谢谢

PrivateSubCommandButton1_Click()Fori=1To[C65536].End(3).RowCells(i,6)=Cells(i,1).End(... Private Sub CommandButton1_Click()
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
展开
 我来答
wzyqwdl
2018-08-08 · TA获得超过128个赞
知道答主
回答量:109
采纳率:0%
帮助的人:44.8万
展开全部

虽然说问题很久前了,但是为什么不自己去试着在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的规则

详细见截图

匹诺曹_浩
2011-04-14 · TA获得超过470个赞
知道小有建树答主
回答量:282
采纳率:0%
帮助的人:291万
展开全部
点击这个按钮执行的功能是 从第一行 到 第三列有数据的最后一行 每行的第6列的值等于A1和B1和这一行第三列值之间加“\” 如A1为2011 B1为04 第三列为14 则 这一行的第六列等于2011\04\14
[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 · 知道合伙人软件行家
表里如一
知道合伙人软件行家
采纳数:2066 获赞数:11638
从事6年生产管理,期间开发了多款小软件进行数据处理和分析,后

向TA提问 私信TA
展开全部
这段程序的意思相当明显啊。
[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.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
512519664
2011-04-14 · 超过11用户采纳过TA的回答
知道答主
回答量:114
采纳率:0%
帮助的人:48.4万
展开全部
这个不好意思啊,我没学这个。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式