|
是这样子的,我有一张加工厂工资表,和一张加工厂汇总表,表中都有部门字段,因要对部门的费用进行汇总,我就想通过部门名称来作为字段,进行值的查找,如果与汇总表中的字段相等,就把加工厂工资表中的相同部门的进行求婚个,并按行偏移列数来进行相应的列的求和,具体代码如下
Sub huizongshuju()
Dim i As Integer, r As Integer, d As Integer
Dim rng As Range
For i = 3 To 111
Sheet4.Select
Set rng = Sheet12.Cells(i, 2)
For r = 3 To 20
For d = 2 To 25
If rng.Value = Sheet4.Cells(r, 1).Value Then
Cells(r, d).Value = Val(Cells(r, d).Value) + rng.Offset(, 6 + d).Value
End If
Next
Next
Next
End Sub
但是我运行后发现结果与实际的结果差别很大,不知道问题出在哪里,请帮忙,具体见附件
回复 jiangslly 的帖子
- Sub huizongshuju()
- Dim i As Integer, r As Integer, d As Integer
- Dim rng As Range
- Sheet4.Range("B3:Z19").ClearContents '加上这句,否则会重复计算。
- For i = 3 To 24
- Sheet4.Select
- Set rng = Sheet12.Cells(i, 2)
- For r = 3 To 19
- For d = 2 To 25
- If rng.Value = Sheet4.Cells(r, 1).Value Then
- '修改下面的代码,6改成4,
- 'Cells(r, d).Value = Val(Cells(r, d).Value) + rng.Offset(, 6 + d).Value
- Cells(r, d).Value = Val(Cells(r, d).Value) + rng.Offset(, 4 + d).Value
- End If
- Next
- Next
- Next
- End Sub
复制代码
|
|