VBA代码看不懂啊
答案:5 悬赏:50 手机版
解决时间 2021-12-02 23:43
- 提问者网友:抽煙菂渘情少年
- 2021-12-02 02:39
VBA代码看不懂啊
最佳答案
- 五星知识达人网友:低血压的长颈鹿
- 2021-12-02 02:51
Set d = CreateObject("scripting.dictionary") 创建字典对象, 他是一个两列的数据
[A65536].END(3).ROW 表示A列 最后一个非空行的行号
If Not d.Exists(CELLS(i,1)) Then 如果字典d 里面不存在 A1 里面的值,就是未出现过的意思 ,添加 第三列的内容到字典, 以此来循环
最后通过读取字典的数据, 来获得想要的数据
d.keys 就是添加到字典里面的A列数据
d.items 就是添加到字典里面的C列数据
[A65536].END(3).ROW 表示A列 最后一个非空行的行号
If Not d.Exists(CELLS(i,1)) Then 如果字典d 里面不存在 A1 里面的值,就是未出现过的意思 ,添加 第三列的内容到字典, 以此来循环
最后通过读取字典的数据, 来获得想要的数据
d.keys 就是添加到字典里面的A列数据
d.items 就是添加到字典里面的C列数据
全部回答
- 1楼网友:逐風
- 2021-12-02 06:07
On Error GoTo DbConnection_ErrorHandle
错了就执行DbConnection_ErrorHandle,
而DbConnection_ErrorHandle是设置的连接错误处理方式,
这个方式可以是一段提示,也可能是一个纠错程序.
If objConnection.State <> 0 Then Exit Sub
如果objConnection.State(数据连接状态)不为0,就退出
希望对你能有所帮助。
错了就执行DbConnection_ErrorHandle,
而DbConnection_ErrorHandle是设置的连接错误处理方式,
这个方式可以是一段提示,也可能是一个纠错程序.
If objConnection.State <> 0 Then Exit Sub
如果objConnection.State(数据连接状态)不为0,就退出
希望对你能有所帮助。
- 2楼网友:西岸风
- 2021-12-02 05:12
Set d = CreateObject("scripting.dictionary")'创建字典对象d
for i = 1 to [A65536].END(3).ROW'从1循环到A列有内容的最后一行行号END(3)等同于END(xlup)
If Not d.Exists(CELLS(i,1)) Then'如果字典d不含有cells(i,1),这里不是太好,改成d.Exists(CELLS(i,1).value)这样不容易出错,
d(cells(i,1))=cells(i,3)
end if
如果是初学的话,这个解释起来就麻烦了,你想要去看下字典是什么东西……
所以,直接说出你的要求吧……
for i = 1 to [A65536].END(3).ROW'从1循环到A列有内容的最后一行行号END(3)等同于END(xlup)
If Not d.Exists(CELLS(i,1)) Then'如果字典d不含有cells(i,1),这里不是太好,改成d.Exists(CELLS(i,1).value)这样不容易出错,
d(cells(i,1))=cells(i,3)
end if
如果是初学的话,这个解释起来就麻烦了,你想要去看下字典是什么东西……
所以,直接说出你的要求吧……
- 3楼网友:迟山
- 2021-12-02 04:23
亲,这个需要一定的VBA基础。
Set d = CreateObject("scripting.dictionary"):建立一个字典变量d
[A65536].END(3).ROW:A列的最后一个有数据的单元格的行号;3的意思是向上匹配xlup
If Not d.Exists(CELLS(i,1)) Then '如果不存在和CELLS(i,1)等值的字典关键字key
d(cells(i,1))=cells(i,3) '添加这个关键字key,并将项目值item赋为cells(i,3)
end if
Set d = CreateObject("scripting.dictionary"):建立一个字典变量d
[A65536].END(3).ROW:A列的最后一个有数据的单元格的行号;3的意思是向上匹配xlup
If Not d.Exists(CELLS(i,1)) Then '如果不存在和CELLS(i,1)等值的字典关键字key
d(cells(i,1))=cells(i,3) '添加这个关键字key,并将项目值item赋为cells(i,3)
end if
- 4楼网友:时间的尘埃
- 2021-12-02 04:14
1、
Set d = CreateObject("scripting.dictionary")
是创建一个dictionary对象,赋给d。
2、
[A65536].END(3).ROW 是引用EXCEL的列。
End 属性:适用于Range 对象
描述:返回 Range 对象,该对象代表包含源区域的区域结尾处的单元格。
等同于按键
END+上箭头键、END+下箭头键、END+左箭头键或
END+右箭头键。
句法:expression.End(Direction)
expression 必选。该表达式返回 Range
对象。
DirectionLong 类型,必选。移动的方向。可为下列 XlDirection 常量之一:
xlToLeft,xlToRight,xlUp或xlDown。
所以,3 就是 xlUp。[A65536].END(3).ROW等同于:[A65536].END(xlUp).ROW
for i = 1 to [A65536].END(3).ROW
-----是遍历EXCEL的A列的所有单元格。
3、
EXCEL的Cells函数是:Cells(行号,列号)
If Not d.Exists(CELLS(i,1)) ......的一段是:
-----如果d对象的(i行,1列)不存在值,则将(i行,3列)的值赋给d对象(i行,1列)。
Set d = CreateObject("scripting.dictionary")
是创建一个dictionary对象,赋给d。
2、
[A65536].END(3).ROW 是引用EXCEL的列。
End 属性:适用于Range 对象
描述:返回 Range 对象,该对象代表包含源区域的区域结尾处的单元格。
等同于按键
END+上箭头键、END+下箭头键、END+左箭头键或
END+右箭头键。
句法:expression.End(Direction)
expression 必选。该表达式返回 Range
对象。
DirectionLong 类型,必选。移动的方向。可为下列 XlDirection 常量之一:
xlToLeft,xlToRight,xlUp或xlDown。
所以,3 就是 xlUp。[A65536].END(3).ROW等同于:[A65536].END(xlUp).ROW
for i = 1 to [A65536].END(3).ROW
-----是遍历EXCEL的A列的所有单元格。
3、
EXCEL的Cells函数是:Cells(行号,列号)
If Not d.Exists(CELLS(i,1)) ......的一段是:
-----如果d对象的(i行,1列)不存在值,则将(i行,3列)的值赋给d对象(i行,1列)。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯