excel如何利用VBA批量设置图标集条件格式

时间:2023-01-12 05:29:46 

在Excel 2007/2010中设置图标集条件格式时,通常是同时对区域中的全部单元格进行设置的。但有时也有例外,如下图中C2:C1000区域中的各单元格的值为同行A列与B列的差值,需要在C列中设置图标集:

    excel如何利用VBA批量设置图标集条件格式    

    要求如下图:

    excel如何利用VBA批量设置图标集条件格式

    在这种情况下,由于C列单元格中的图标集仅仅与其他列中的单元格值有关,而与本列中的其他单元格无关,因而无法直接对C2:C1000区域同时设置图标集。如果手动对C列中的每个单元格逐一设置图标集,在数据量较大的情况下几乎无法实现。要实现这个目的,可以用下面的两种方法:

    方法一:用VBA代码

    1.按Alt+F11,打开VBA编辑器,在代码窗口中粘贴下列代码:

Sub IconSet()
Dim rCell As Range
Application.ScreenUpdating = False
Range("c2:c1000").FormatConditions.Delete
For Each rCell In Range("c2:c1000")
    rCell.FormatConditions.AddIconSetCondition
    With rCell.FormatConditions(1)
        .IconSet = ActiveWorkbook.IconSets(xl3Symbols2)
        With .IconCriteria(2)
          .Type = xlConditionValueNumber
          .Value = 0
          .Operator = 7
        End With
        With .IconCriteria(3)
          .Type = xlConditionValueFormula
          .Value = "=OFFSET($A$1,ROW()-1,0)*0.2"
          .Operator = 5
        End With
    End With
Next
Application.ScreenUpdating = True
End Sub

    2.关闭VBA编辑器,按Alt+F8,打开“宏”对话框,选择“IconSet”宏名执行代码。

    上述代码对C2:C1000区域中各单元格逐一设置图标集,选择C列中的某个单元格,如C8,在“开始”选项卡的“样式”组中单击“条件格式→管理规则”,在弹出的对话框中单击“编辑规则”,可以看到上述代码所设置的图标集条件格式,如图。

    excel如何利用VBA批量设置图标集条件格式

    由于在条件格式的图标集、色阶、数据条中无法使用相对引用,因而使用下面的公式:

    =OFFSET($A$1,ROW()-1,0)*0.2

    该公式在图标集条件格式中总可以引用同行A列单元格的值。

    方法二:用辅助列

    方法是在C列在左侧插入一个辅助列,然后在辅助列中设置图标集条件格式,设置后看上去类似直接在D列中设置的图标集。

    excel如何利用VBA批量设置图标集条件格式

    1.在C列左侧插入辅助列,先前的C列变为D列。选择C2单元格,在其中输入公式:

    =D2/A2

    然后向下填充公式到C1000单元格。

    2.选择C2:C1000区域,在“开始”选项卡的“样式”组中单击“条件格式→新建规则”,在弹出的对话框中,默认已选择了“基于各自值设置所有单元格格式”。在下方的区域中,选择“格式样式”为“图标集”,“图标样式”选择“三个符号(无圆圈)”,类型都选择为“数字”,分别设置为“0.2”和“0”。勾选“仅显示图标”,如下图。

    excel如何利用VBA批量设置图标集条件格式

    3.单击“确定”。Excel会在C列中设置图标集,最后设置适当的列宽即可。

标签:excel,如何,利用,VBA,批量,设置,图标,集,条件,在
0
投稿

猜你喜欢

  • 怎样调u盘启动盘方法

    2023-07-18 04:03:49
  • 在Excel中利用名称框选择区域的几个技巧

    2023-12-15 17:51:55
  • WPS文档技巧—实现文档漫游

    2022-05-23 23:47:58
  • miui12白条怎么取消_miui12白条取消方法

    2023-01-10 07:40:01
  • Win10更新卡住不动怎么办 Win10更新卡住不动解决方法

    2022-03-16 17:59:04
  • 怎么进入注册表编辑器?

    2022-02-13 08:58:30
  • 5招帮你轻松搞定PPT图文排版

    2024-01-07 15:57:33
  • 在word中何为域

    2023-09-02 20:23:05
  • Win10专业版怎么调整应用大小

    2022-07-29 17:22:51
  • windows10系统死机不能动不能休眠怎么办

    2023-09-30 21:27:05
  • 如何给WORD设置页边距

    2022-04-29 00:59:07
  • 3个批量快速处理Word的技巧

    2023-08-03 12:16:22
  • 怎样在WPS文字中设置标题样式

    2023-11-17 23:22:22
  • 搜狗输入法怎么关闭按键音

    2023-12-15 12:22:12
  • 电脑主板检测卡代码大全

    2023-01-15 13:54:14
  • 百度音乐盒不能播放怎么办?百度音乐盒不能播放的解决方法

    2022-02-28 10:19:07
  • 洋葱数学怎么做题?只需几步轻松搞定

    2022-02-18 16:43:09
  • 推荐一款唯美少女大冒险游戏-GRIS

    2022-01-25 22:05:47
  • 在整个EXCEL页面进行截图的方法

    2023-06-08 09:15:20
  • 如何建立excel数据库的教程

    2023-12-17 01:00:47
  • asp之家 电脑教程 m.aspxhome.com