Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 16843|回复: 6

[已解决]如何用V判断有颜色数字及位置

  [复制链接]
发表于 2010-11-29 14:33 | 显示全部楼层 |阅读模式
本帖最后由 爱疯 于 2020-6-16 11:19 编辑

可否在数组中进行判断?谢谢

Oc4NE2Wd.rar (7.22 KB, 下载次数: 114)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2010-11-29 15:03 | 显示全部楼层    本楼为最佳答案   
本帖最后由 爱疯 于 2012-9-25 12:21 编辑

[hide]弱弱的说
颜色,是属于单元格的属性吧
数组赋值是不能把单元格的格式、颜色、边框等属性都包括的吧 背了这么重的包袱,数组也飞不起来了
数组可以放 单元格属性的值、行(列)值
说错了 不要打偶屁屁
[em04][em04][em04]
Sub 按钮1_Click()
    Dim arr(1 To 1000, 1 To 3), X, K%
    For Each X In Range("b1:d11")
        If Len(X) <> 0 Then
            If X.Font.ColorIndex <> 1 Then
                K = 1 + K
                If K = 1 Then
                    arr(K, 1) = "有色数字值"
                    arr(K, 2) = "地址"
                    arr(K, 3) = "颜色号"
                End If
                arr(K + 1, 1) = X.Value
                arr(K + 1, 2) = X.Address
                arr(K + 1, 3) = X.Font.ColorIndex
            End If
        End If
    Next
    Range("E1").Resize(K + 1, 3) = arr
End Sub[/hide
]

[此贴子已经被作者于2010-11-29 15:35:38编辑过]
回复

使用道具 举报

发表于 2010-11-29 15:03 | 显示全部楼层
本帖最后由 爱疯 于 2012-9-25 12:21 编辑

[hide]Sub 按钮1_Click()
Dim arr(1 To 44, 1 To 2)
Dim i, j, m As Integer
m = 1
For i = 1 To 11
    For j = 1 To 4
        If Val(Cells(i, j)) And Cells(i, j).Font.ColorIndex = 3 Then
        arr(m, 1) = Cells(i, j).Address
        arr(m, 2) = Cells(i, j).Font.ColorIndex
        m = m + 1
        End If
    Next j
Next i
Range("H1").Resize(UBound(arr), 2) = arr
End Sub[/hide
]
回复

使用道具 举报

发表于 2010-11-30 10:23 | 显示全部楼层
本帖最后由 爱疯 于 2012-9-25 12:22 编辑

[hide] Sub 按钮1_Click()
Dim rng As Range
For Each rng In Sheet1.UsedRange
    If rng.Font.ColorIndex > 1 Then
        MsgBox rng.Value & rng.Address
    End If
Next
End Sub

看看别人的答案是否用数组

[/hide
]

回复

使用道具 举报

发表于 2010-11-30 10:28 | 显示全部楼层

Sub test()
    Dim k%, arr(), rng As Range
    For Each rng In Range("b2:d11")
        If rng.Font.ColorIndex = 3 Then
            k = k + 1
            ReDim Preserve arr(1 To 3, 0 To k)
            arr(1, k) = rng.Value
            arr(2, k) = rng.Address
            arr(3, k) = rng.Font.ColorIndex
        End If
    Next
    arr(1, 0) = "数字"
    arr(2, 0) = "单元格地址"
    arr(3, 0) = "色值"
    Range("F1").Resize(UBound(arr), 3) = Application.Transpose(arr)
End Sub
回复

使用道具 举报

发表于 2012-4-30 09:26 | 显示全部楼层
为会么不回复就看不到呢
回复

使用道具 举报

发表于 2012-9-5 08:39 | 显示全部楼层
干嘛都要回复才能看得到呢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-21 00:21 , Processed in 0.440297 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表