excel表内对按单元格颜色内的数值自动求和

按照单元格填充颜色的数值,自动求和。并且可以实时更新,我这个表每天都要更新的。... 按照单元格填充颜色的数值,自动求和。并且可以实时更新,我这个表每天都要更新的。 展开
 我来答
boyayes
2019-03-18 · TA获得超过4504个赞
知道大有可为答主
回答量:4231
采纳率:75%
帮助的人:992万
展开全部

用下面的代码,检测到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,就点左上角的文件---选项---在自定义功能区,把“开发工具”,这项打勾。

---------------------

上面这段代码,用的是数据变更事件触发,你更换颜色时不会立刻运算,当你双击单元格,并回车退出单元格时,就会立刻重算此列。

jelifq
2019-03-18 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1590
采纳率:68%
帮助的人:678万
展开全部
Excel公式做不到,需要用到VBA。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
残落云J
2021-01-02
知道答主
回答量:1
采纳率:0%
帮助的人:522
展开全部
求和颜色单元格的内容
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2019-03-18 · TA获得超过1663个赞
知道小有建树答主
回答量:6318
采纳率:30%
帮助的人:912万
展开全部
写代码可以实现呢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式