分享

高手们,请给代码添加”注释“!谢谢

 fzchenwl 2015-04-03

论坛(http://www.)的一位同学提问。

以下代码有很多的地方看不懂,请老师们麻烦给详细添加一下注释,小弟在学习中,希望老师赐教!
Sub lqxs()
Dim Arr, i&, d, Arr1
Set d = CreateObject('Scripting.Dictionary')
Sheet1.Activate
Arr = Sheet2.[a1].CurrentRegion
For i = 2 To UBound(Arr)
d(Arr(i, 2)) = Arr(i, 1)
Next
Arr1 = [a1].CurrentRegion
For i = 2 To UBound(Arr1)
If d.exists(Arr1(i, 2)) Then Arr1(i, 1) = d(Arr1(i, 2))
Next
[a1].CurrentRegion = Arr1
End Sub


烟花版主的解答:

  1. Sub lqxs()

  2. Dim Arr, i&, d, Arr1

  3. '创建字典对象

  4. Set d = CreateObject('Scripting.Dictionary')

  5. '激活sheet1

  6. Sheet1.Activate

  7. '取Sheet2工作表中A1单元格所在的区域数据

  8. Arr = Sheet2.[a1].CurrentRegion

  9. '遍历数据,添加到字典中

  10. 'key为B列,item为A列

  11. For i = 2 To UBound(Arr)

  12. d(Arr(i, 2)) = Arr(i, 1)

  13. Next

  14. '取SHEET1工作表中A1单元格所在的区域数据

  15. Arr1 = [a1].CurrentRegion

  16. '根据B列单元格中的内容,取出对应的Item

  17. '实现的应该就是类似于跨表查找对应值,

  18. For i = 2 To UBound(Arr1)

  19. If d.exists(Arr1(i, 2)) Then Arr1(i, 1) = d(Arr1(i, 2))

  20. Next

  21. '数据写回sheet1中

  22. [a1].CurrentRegion = Arr1

  23. End Sub

冥王 的解答

  1. Sub lqxs()

  2. Dim Arr, i&, d, Arr1

  3. Set d = CreateObject('Scripting.Dictionary') '设定d=创建对象('Scripting.Dictionary')

  4. Sheet1.Activate '激活工作表Sheet1

  5. Arr = Sheet2.[a1].CurrentRegion 'Sheet2工作表[a1单元格的当前区域赋值给变量Arr(变量Arr变成了一个数组)

  6. For i = 2 To UBound(Arr) '设定变量i的范围为2到数组Arr的上标

  7. d(Arr(i, 2)) = Arr(i, 1)

  8. Next '下一个循环

  9. Arr1 = [a1].CurrentRegion '[a1]的当前区域赋值给变量Arr1(变量Arr1变成了数组)

  10. For i = 2 To UBound(Arr1) '设定变量范围为i=2到UBound(Arr1)

  11. If d.exists(Arr1(i, 2)) Then Arr1(i, 1) = d(Arr1(i, 2)) '如果 d.exists(Arr1(i,2)) 则执行 Arr1(i,1)=d(Arr1(i,2))

  12. Next '下一个循环

  13. [a1].CurrentRegion = Arr1 '数组Arr1的元素写入[a1]的当前区域

  14. End Sub


继续提问

For i = 2 To UBound(Arr) d(Arr(i, 2)) = Arr(i, 1) 这部分还是不理解,能不能联系实现工作表,详细


烟花老师的答案


标准工作表(sheet2)中A1:B66中的数据,这是一个二维数组。
因为第1行是标题,所以在循环数组的时候,只需要从第二行开始


在循环这些标准数据时,通过字典把工资标准与其对应的薪级档次放入到字典对象中。
例如:80对应的是第1级


查看原贴请单击左下角原文链接

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约