功能介绍:当平时工作处理数据量较大的时候,就要考虑数据的规范性,怎样录入方便、准确,及后续工作开展。那么将一些常用又相对固定的数据单独做一份定额是有必要的。
这样在核算时通过将定额部分引用出来核算,减少工作量和数据维护时间(例如当定额发生改变,没有采用引用方式,需要对涉及改变的数据逐一修改等)。引用可以采用函数:vlookup以及index、match嵌套引用等,我之前采用的方式就是函数。
其实函数也很方便,本例采用vba代码则是另一种思路。
微软的脚本字典是一个十分方便的功能,在vba中它仅仅只有四种属性和六个方法,方便记忆与理解,而它与vba数组组合使用产生的代码异常简洁,运行效率奇高。
相信和我一样初学vba的小伙伴,在面对行数过多代码时都会头皮发麻,头昏脑胀,口吐白沫…下面7行代码是否是你需要的呢?
本月任务二完成,还是很愉快的。
代码思路简介:
1.将定额写入数组;
2.将数组写入字典;
3.将字典关键字对应的条目输出到对应单元格。
定额Option Explicit
Sub 录入()
Dim arr, i%, rng As Range
With CreateObject("scripting.dictionary")
arr = Worksheets("定额").Range("b2:m500")
For i = 1 To UBound(arr)
.Item(arr(i, 1)) = Array(arr(i, 2), arr(i, 3), arr(i, 4), arr(i, 5), arr(i, 6), arr(i, 7), arr(i, 8), arr(i, 9), arr(i, 10), arr(i, 11), arr(i, 12))
Next
For Each rng In Worksheets("成本数据录入").Range("e2", Worksheets("成本数据录入").[e63356].End(xlUp))
rng.Offset(0, 1).Resize(1, 11) = .Item(rng.Value)
Next
End With
End Sub
网友评论