关于Excel统计有多少个单元格的文字是红色、黑色? 5
博思aippt
2024-07-20 广告
2024-07-20 广告
作为深圳市博思云创科技有限公司的工作人员,对于Word文档生成PPT的操作,我们有以下建议:1. 使用另存为功能:在Word中编辑完文档后,点击文件->另存为,选择PowerPoint演示文稿(*.pptx)格式,即可将文档内容转换为PPT...
点击进入详情页
本回答由博思aippt提供
展开全部
如果你想通过函数来实现,那就要自己用VBA写自定义函数了。你可以百度查一下:CountColor 和SumColor函数,以下是别人写的自定义函数,参考后可以照搬或者修改后再用。
方法:
打开你的工作表:点开发工具-Visual
Basic-左边上边的小窗口空白处点右键-插入-模块,然后在打开的编辑框中粘贴以下代码:
Function CountColor(col As
Range, countrange As Range) As Integer
Dim
icell As Range
Application.Volatile
For Each icell In
countrange
If icell.Interior.ColorIndex = col.Interior.ColorIndex
Then
CountColor = CountColor +
1
End If
Next icell
End Function
Function SumColor(col As Range, sumrange As Range) As
Integer
Dim icell As
Range
Application.Volatile
For Each icell In
sumrange
If icell.Interior.ColorIndex = col.Interior.ColorIndex
Then
SumColor = Application.Sum(icell) +
SumColor
End If
Next icell
End Function
然后关闭,反回到工作表,点击宏安全性-选择启用所有宏,并勾选信任对VBA工程的访问,保存关闭
用法:
按颜色求和:sumcolor(颜色示列格,求和区域或列);按颜色计数:countcolor(颜色示列格,求和区域或列)
例如:要求和从a1到a10这个区域内的红色格,
=sumcolor($a$1,$a$1:$A$10)
计数:countcolor($a$1,$a$1:$A$10)
注意:$a$1
必须是红色格,这是定义颜色的,你也可以设成其它格,但必须是你要求和的颜色
方法:
打开你的工作表:点开发工具-Visual
Basic-左边上边的小窗口空白处点右键-插入-模块,然后在打开的编辑框中粘贴以下代码:
Function CountColor(col As
Range, countrange As Range) As Integer
Dim
icell As Range
Application.Volatile
For Each icell In
countrange
If icell.Interior.ColorIndex = col.Interior.ColorIndex
Then
CountColor = CountColor +
1
End If
Next icell
End Function
Function SumColor(col As Range, sumrange As Range) As
Integer
Dim icell As
Range
Application.Volatile
For Each icell In
sumrange
If icell.Interior.ColorIndex = col.Interior.ColorIndex
Then
SumColor = Application.Sum(icell) +
SumColor
End If
Next icell
End Function
然后关闭,反回到工作表,点击宏安全性-选择启用所有宏,并勾选信任对VBA工程的访问,保存关闭
用法:
按颜色求和:sumcolor(颜色示列格,求和区域或列);按颜色计数:countcolor(颜色示列格,求和区域或列)
例如:要求和从a1到a10这个区域内的红色格,
=sumcolor($a$1,$a$1:$A$10)
计数:countcolor($a$1,$a$1:$A$10)
注意:$a$1
必须是红色格,这是定义颜色的,你也可以设成其它格,但必须是你要求和的颜色
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Sub test()
Dim rg As Range
For Each rg In Range("a1:z100")
If rg.Font.ColorIndex = 1 And rg <> "" Then
n = n + 1
End If
If rg.Font.ColorIndex = 3 And rg <> "" Then
m = m + 1
End If
Next
MsgBox "红色单元格共计" & m & Chr(13) & "黑色单元格共计" & n
End Sub
Dim rg As Range
For Each rg In Range("a1:z100")
If rg.Font.ColorIndex = 1 And rg <> "" Then
n = n + 1
End If
If rg.Font.ColorIndex = 3 And rg <> "" Then
m = m + 1
End If
Next
MsgBox "红色单元格共计" & m & Chr(13) & "黑色单元格共计" & n
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
好像没有现存的公式,
用VBA做吧,
用VBA做吧,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询