Excel VBA 多表 多行不规则求和代码怎么写

在一个工作表中如在F列的F4=F7+F9+F11+F12-F13+F15+F20+F21+F30+F55+F54+F55+F56+F78+F79+F102+F103+F104
F9=F9-F8-表2!D3-表2!E3
F30=F30-F31-F32-F33-F34-F36-F37-表21!D4-表2!E5
当表1的F120单元格被触发时,才执行语句就和
我不知怎么写VBA代码更简化
还请各位老师赐教
谢谢

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target = [F120] Then
[F4] = Application.WorksheetFunction.Sum([F7], [F9], [F11], [F12], -[F13], [F15], [F20], [F21], [F30], [F55], [F54], [F55], [F56], [F78], [F79], [F102], [F103], [F104])
[F9] = [F9] - [F8] - Sheets("表2").[D3] - Sheets("表2").[E3]
[F30] = [F30] - [F31] - [F32] - [F33] - [F34] - [F36] - [F37] - Sheets("表2").[D4] - Sheets("表2").[E5]
End If
End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-09
两个问题:
1.【F120被触发】是什么意思?
2.F9、F30,自身迭代,因为F4牵涉到F9、F30,请问F4是实时变动的吗?如果不是实时,那是在迭代前还是迭代后?追问

F120就是在本单元输入最后一个数据后,F4是固定的,F9、F30迭代后

追答

可以写一个小的宏,在你需要运算的时候去运算它,没法做到F120输入后自动运行的

追问

这个宏代码怎么写,老师能帮我写个吗
谢谢

追答

E30公式中的,我认为是之误,若是确有表21,请自行更正,程序假设F121、F122为空闲的单元格:
Public SN As Double
Sub huizong()
Worksheets("表1").Activate
Cells(4, 6).Activate
ActiveCell.Formula = "=F7+F9+F11+F12-F13+F15+F20+F21+F30+F55+F54+F55+F56+F78+F79+F102+F103+F104"
Cells(121, 6).Activate
ActiveCell.Formula = "=F9-F8-表2!D3-表2!E3"
SN = ActiveCell.Value
Cells(9, 6).Activate
ActiveCell.Value = SN
Cells(122, 6).Activate
ActiveCell.Formula = "=F30-F31-F32-F33-F34-F36-F37-表2!D4-表2!E5"
SN = ActiveCell.Value
Cells(30, 6).Activate
ActiveCell.Value = SN
Cells(120, 6).Activate
End Sub

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网