在excel VBA编程中如何才能批量获取选择区域单元格的颜色? 当前选择区域不只有几个单元格,而

在excel VBA编程中如何才能批量获取选择区域单元格的颜色?
当前选择区域不只有几个单元格,而是很多,循环获取有些慢,有没有更快的方法?

读颜色貌似只能用循环。

试试在程序中关闭屏幕更新能否改善
Application.ScreenUpdating = False
程序结束前再复原:Application.ScreenUpdating = True
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-16
Sub 选择区域万位以下变为灰色()'同时小数点后面设置为2位。 Dim r1 As Range Dim i, q, l, k As Long Dim p As String Selection.NumberFormatLocal = "@" Selection.HorizontalAlignment = xlRight For Each r1 In Selection r1.Select r1 = Format(r1.Text, "0.00") p = r1.Text l = InStrRev(p, ".") k = Len(p) If l = 0 Then l = k + 1 With ActiveCell.Characters.Font .ColorIndex = 1 End With With ActiveCell.Characters(Start:=l - 4, Length:=k - l + 5).Font .ColorIndex = 15 End With Next r1End Sub
第2个回答  2014-01-16
之前也没弄过,刚才录制宏看了一下代码,range下有个interior属性,里面的color可以参考一下。如果该区域是单一颜色,则有数,如果颜色不单一,则是0
说实话,循环挺快的

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网