excel表内对按单元格颜色内的数值自动求和
展开全部
用下面的代码,检测到C3至Z93任何一个单元格发生数据更新,就会自动对该列进行计算,
结果显示在同一列的94行单元格里。
Private Sub Worksheet_Change(ByVal Target As Range)
x = Target.Row 'x是有数据更新的单元格的行序号
y = Target.Column 'y是有数据更新的单元格的列序号
If x >= 3 And x <= 93 And y >= 3 And y <= 26 Then '如果x是第3至93行,y是第3至26列,那么
Dim i As Integer
s = 0 '变量s初始化
For i = 3 To 93 '遍历3至93
If Cells(i, y).Interior.ColorIndex <> xlNone Then '如果y列i行单元格颜色不等于无色
s = s + Cells(i, y) ',那么把该单元格的数值累加给s
End If
Next '返回进入下一次For循环
Cells(94, y) = s '最后给y列94行单元格输出结果:等于s
End If
End Sub
更多追问追答
追问
这个代码是写在哪里的呢?
追答
1、点顶部的开发工具。
2、点开VB编辑器。
3、要控制的是哪个表,在VB编辑器里点击你的工作表名称。
4、在右侧粘贴代码。
5、关闭VB编辑器,去表里测试吧。(也可以不关,去测试吧)。
----------------------------
假如说你的顶部工具栏中找不到“开发工具”这顶,
如果是2007版的Office,就点左上角的文件---选项---在工具栏显示开发工具,这项打勾。
如果是更高版本Office,就点左上角的文件---选项---在自定义功能区,把“开发工具”,这项打勾。
---------------------
上面这段代码,用的是数据变更事件触发,你更换颜色时不会立刻运算,当你双击单元格,并回车退出单元格时,就会立刻重算此列。
展开全部
Excel公式做不到,需要用到VBA。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写代码可以实现呢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询