EXCEL VBA按颜色提取内容和颜色

EXCEL VBA按颜色提取内容和颜色,第1张

Sub s()

    Set rg1 = [K14:T23]

    Set rg2 = [V3:w13]

    Set t = [m1:q1]

    x = 1

    y = 1

    For i = 1 To 5

        cl = t(i)InteriorColor

        kk = ""

        For j = 1 To rg1ColumnsCount

        For k = 1 To rg1RowsCount

            If rg1Cells(k, j)InteriorColor = cl Then

                If kk = "" Then

                    rg1Cells(k, j)Copy rg2Cells(x, y)

                    kk = rg1Cells(k, j)

                Else

                    rg2Cells(x, y) = kk & "/" & rg1Cells(k, j)

                    If x < rg2RowsCount Then

                        x = x + 1

                    Else

                        x = 1

                        y = y + 1

                    End If

                    kk = ""

                End If

            End If

        Next: Next

        If kk <> "" Then

            If x < rg2RowsCount Then

                x = x + 1

            Else

                x = 1

                y = y + 1

            End If

        End If

    Next

End Sub

条件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

excel里,字体为自动黑色时,他默认的值为-4105

指定主题颜色中的黑色时,值为1

如果值为Null,系统默认该单元格的字体颜色为黑,没有值

所以-4105,1,Null都代表单元格字体颜色为黑色

以上就是关于EXCEL VBA按颜色提取内容和颜色全部的内容,包括:EXCEL VBA按颜色提取内容和颜色、excel中怎样用VBA实现单元格的字体显色、关于 vba 去单元格字体颜色 我明明把单元格字体设置了颜色为什么取不到 啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存