|
劳驾帮看看运算为什么不等
输入值38000 运算后的值比这个值差了90多。多谢!帮看看运算为什么会不等。
如何运算可以让他们的值相等
这个程序是这样的:
在模块2中的SubTestCheck()
首先程序模拟输入了一个值:StrIn = 38000 '模拟输入的值
得到当前合计: StrTotal = XS.Range("H33")
’这里省略了For循环代码的解释,程序中含有For循环
.判断输入值是否小于总计值:
If StrIn < StrTotal Then
Diff = StrTotal - StrIn '差值 = 总计值 - 输入值
RowAssign = XS.Cells(I + 3, 8) / StrIn '得到各行分配的值百分比 = 当前行的值 / 输入值
RowCells = Diff * RowAssign '为各行得到的百分比分配的值 = 差值 * 当前值
XS.Cells(I + 3, 14) = Trim(XS.Cells(E + I, 8)) - RowCells '为原值从新赋值:原值 - 为各行得到的百分比分配的值
XS.Range("O7").Formula = "=SUM(N3:N32)"
RowSum = XS.Range("O7")
If StrIn <> RowSum Then '输入值如果 不等于 各行合计数 说明计算不对即退出程序
Exit Sub
Else 否则 正确赋值
XS.Range("O7") = Trim(StrIn) '输入值写入相应区域
End If |
|