|
发表于 2014-7-1 14:55
|
显示全部楼层
本楼为最佳答案
我这边打开是好的,原来的模块不需要了,你直接把下述代码放到“PF-11303”工作表模块里面就行了。
是工作表事件,你试一下效果- Private Sub Worksheet_Change(ByVal Target As Range)
- If Target.Column <> 5 Then Exit Sub
- If Target.Row < 6 Then Exit Sub
- If Target.Count > 1 Then Exit Sub
- If Target = "" Then Union(Target.Offset(, 1), Target.Offset(, 4).Resize(, 8)).ClearContents: Exit Sub
- Dim arr, brr, r&
- arr = Sheets(1).Range("b6:h" & Sheets(1).[b65536].End(3).Row)
- brr = Target.Resize(, 15)
- r = Target
- brr(1, 2) = arr(r, 1)
- brr(1, 8) = arr(r, 2) * IIf(brr(1, 5) = "L", 1, brr(1, 5)) * brr(1, 7) * 7.85 / 1000000
- brr(1, 9) = brr(1, 4) * brr(1, 8)
- brr(1, 10) = brr(1, 9) * arr(r, 4)
- brr(1, 11) = arr(r, 3) * IIf(brr(1, 5) = "L", 1, brr(1, 5)) * brr(1, 7) / 1000000
- brr(1, 12) = brr(1, 4) * brr(1, 11)
- brr(1, 13) = brr(1, 12) * 13
- brr(1, 15) = arr(r, 4) * IIf(brr(1, 9) = 0, brr(1, 4), brr(1, 9)) + brr(1, 12) * 13
- Target.Resize(, 15) = brr
- End Sub
复制代码 |
|