excel中怎样用VBA实现单元格的字体显色

excel中怎样用VBA实现单元格的字体显色,第1张

条件3,我还没做完,以下代码可满足条件1和2

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Sub px()

Dim a1, a2, a3, a4, a5, a6, a7, a8, b1, b2, b3, b4, b5, b6, b7, b8 As Integer

a3 = 0

A9字符长度 = Len(Sheet1Cells(9, 1))

A10字符长度 = Len(Sheet1Cells(10, 1))

'a1定义为列的循环,按B列包含多少行有效数而定循环数

'a2定义为行循环 , 按A9和A10的个数而定循环次数

For a1 = 1 To 10

For a2 = 1 To A9字符长度

If Len(Sheet1Cells(a1, 2)) - Len(Replace(Sheet1Cells(a1, 2), Mid(Sheet1Cells(9, 1), a2, 1), "")) > 0 Then

'a3定义为一个累加变量,存放满足A9条件的次数

a3 = a3 + 1

End If

Next a2

'Sheet1Cells(a1, 3) = a3

If a3 = 3 Then

Sheet1Cells(a1, 2)FontColor = vbRed

End If

a3 = 0

Next a1

'a1定义为列的循环,按B列包含多少行有效数而定循环数

'a2定义为行循环 , 按A9和A10的个数而定循环次数

For a1 = 1 To 10

For a2 = 1 To A10字符长度

If Len(Sheet1Cells(a1, 2)) - Len(Replace(Sheet1Cells(a1, 2), Mid(Sheet1Cells(10, 1), a2, 1), "")) > 0 Then

'a3定义为一个累加变量,存放满足A9条件的次数

a3 = a3 + 1

End If

Next a2

'Sheet1Cells(a1, 4) = a3

If a3 = 3 Then

Sheet1Cells(a1, 2)FontColor = vbRed

End If

a3 = 0

Next a1

For a1 = 1 To 10

If Not Sheet1Cells(a1, 2)Find("05") Is Nothing Then

'Sheet1Cells(a1, 5) = 1

Sheet1Cells(a1, 2)FontColor = vbRed

End If

If Not Sheet1Cells(a1, 2)Find("50") Is Nothing Then

'Sheet1Cells(a1, 5) = 1

Sheet1Cells(a1, 2)FontColor = vbRed

End If

If Not Sheet1Cells(a1, 2)Find("24") Is Nothing Then

'Sheet1Cells(a1, 5) = 1

Sheet1Cells(a1, 2)FontColor = vbRed

End If

If Not Sheet1Cells(a1, 2)Find("42") Is Nothing Then

'Sheet1Cells(a1, 5) = 1

Sheet1Cells(a1, 2)FontColor = vbRed

End If

If Not Sheet1Cells(a1, 2)Find("69") Is Nothing Then

'Sheet1Cells(a1, 5) = 1

Sheet1Cells(a1, 2)FontColor = vbRed

End If

If Not Sheet1Cells(a1, 2)Find("96") Is Nothing Then

'Sheet1Cells(a1, 5) = 1

Sheet1Cells(a1, 2)FontColor = vbRed

End If

Next a1

End Sub

1 excel中怎么用公式统计带颜色字体个数

使用Excel中的按颜色“筛选”功能可以轻松实现统计颜色为红色的用户个数

下面以统计红色用户为例,详细讲解如何使用颜色筛选来做统计:

1首先,选中需要统计数量的一列

2选择”数据“菜单,再点击”筛选“按钮:

3此时,选中列中的第一个单元格左侧出现了一个带三角的按钮,点击这个按钮,出现如下对话框:

4选择”按颜色筛选“,此时会出现此列中所有的底色,选择需要统计数量的底色

5此时,所有该底色的单元格都被筛选出来了

6最后的统计个数就简单了,可以看有多少行,当然最简单的还是右下角的状态栏,如下图所示(当然别忘了取消表头,这个计数是包含了表头的,实际个数要-1哟)

2 EXCEL中如何以字体颜色为条件进行运算统计

按alt+F11打开VBE,

右击左边工程框,插入,模块

贴入以下代码

Function ystj(col As Range, countrange As Range)

Dim i As Range

ApplicationVolatile

For Each i In countrange

If iFontColorIndex = colFontColorIndex Then

ystj = ystj + i

End If

Next

End Function

例如你的数据区域是A1:C100

在D1输入公式

=ystj(颜色,A1:C100) 按F9

其中颜色为想统计颜色字所在的单元格,如=ystj(A2,A1:C100)

如果想统计不同背景色的数字,将Font改为Interior。

3 EXCEL怎么统计同一行内同一种颜色字体的个数

亲,VBA代码如下,可以统计A列不同字体颜色的个数,结果显示在C列。

Sub sumcolor()

Dim r, c, n As Long '定义长整型变量

Dim rg As Range '定义一个Range变量

Dim d, k '定义两个可变类型的变量

Set d = CreateObject("ScriptingDictionary") '创建字典

r = Range("A1")SpecialCells(xlCellTypeLastCell)Row '获取A列最大行号

For Each rg In Range("A1:A" & r) '从A列第1到最后一行进行循环,每个循环的单元格是rg

c = rgFontColor '把循环的每个字体颜色数值赋给变量c

If dexists(c) Then '如果字典中存在c值

d(c) = d(c) + 1 'c累加1

Else '如果字典中不存在c值

d(c) = 1 'c赋值1

End If '结束判断

Next '下一个循环

Columns("C:C")Clear '清空C列

For Each k In dkeys '循环读取字典的每一个关键字

n = n + 1 'n值累加1

With Range("C" & n) '定义简写C列的第n行

FontColor = k '用字典关键字的值设置字体颜色

Value = d(k) '用字典关键字对应的项目值填写单元格

End With '结束简写

Next '下一个循环

Set d = Nothing '清除字典对象

End Sub

4 求助excel统计有颜色字体个数

用VBA中的公式即可。

例如如下公式是统计红色填充的,将其复制在VBA的模块代码中,再回到sheet即可使用该公式。也可编辑**、黑色等统计公式,将其中的Vbred换成Vbyellow、Vbblack即可。

Function Sum_Red(myrange As Range)Dim a As RangeSum_Red = 0For Each a In myrangeIf aInteriorColor = vbRed ThenSum_Red = Sum_Red + 1End IfNext aEnd Function。

5 excel 统计字体颜色

1工具栏---插入---名称---定义----定义名称为AA----引用位置输入=getcell(24,A1){假设你的名字A列,注意:是A1,不是绝对引用}------点击右侧添加----点击右侧----确定; 2假如在B1输入=AA,然后下托公式; 3如果你以上步骤都做好了,托完公式的所有单元格应该只有两个数值3或者0; 4找任意单元格显示“离职人员”,单元格输入公式=COUNTIF(B1:B5,"=3")假如=AA的公式在B列; 5注意(1)在你名字颜色变化时,需要重新拖动=AA的公式;(2)=AA的第一行如果变动需要反向拖动公式。

With CellsFont

Name = "Calibri"

Size = 9

Strikethrough = False

Superscript = False

Subscript = False

Underline = xlUnderlineStyleNone

ThemeColor = xlThemeColorLight1

TintAndShade = 0

ThemeFont = xlThemeFontMinor

End With

With Cells

HorizontalAlignment = xlGeneral

VerticalAlignment = xlCenter

WrapText = False

Orientation = 0

AddIndent = False

IndentLevel = 0

ShrinkToFit = False

ReadingOrder = xlContext

'MergeCells = False 这里把合并单元格取消了,把这一行删除

End With

以上就是关于excel中怎样用VBA实现单元格的字体显色全部的内容,包括:excel中怎样用VBA实现单元格的字体显色、excel函数怎么把颜色字体统计、Excel使用VBA自动设置表单字体的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9647298.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存