zoukankan      html  css  js  c++  java
  • VBA在Excel中的应用(一):改变符合条件单元格的背景颜色

    Jiahua Jin

     

    VBA在Excel中的应用(一):改变符合条件单元格的背景颜色

      在使用excel处理数据的时候,为了能更清晰的标示出满足特定条件的单元格,对单元格添加背景色是不错的选择。手工处理的方式简单快捷,但是当遇到大批量数据,就会特别的费时费力,而且不讨好(容易出错)。通过代码来处理是个不错的选择,excel可以通过VBA编程来处理内部数据,在打开excel页面后,可以通过“alt + F11”组合键来启动VBA编程界面,跟VB的编程界面和语法一样,需要注意的是如何调用excel的内容。VBA通过sheet, range和cells三个层次来调用excel中的制定区域,sheet指定要处理的表格页,ranges制定要处理的范围,可以是一个单元格,也可以是多个单元格,cells(i,j)通过制定行下标i和列下表j来定位制定的单元格,通过这三个层次就基本能定位excel中的任意制定位置。

         关于vba和excel编程,请详见:http://msdn.microsoft.com/zh-cn/library/ee814737.aspx

                                                 http://www.cnblogs.com/jaxu/archive/2009/04/04/1407004.html

         实例:在做验证性因子分析(Confirmed Factoe Analysis,CFA)的时候,我们通常因子载荷(factor loading)来判断构念(construct)之间的区别效度(discriminant validity),即同一构念下的item之间correlation尽可能高,而不同构念的item之间的相关性尽可能低。所以将correlation matrix中大于没特定阈值单元格用特定背景颜色加以区分,就可以清晰的看出item之间的相关关系。

      假设我们有一个64*64的correlation matrix,那么在excel中是用vba对不同范围的correlation值的单元格添加背景颜色的代码如下:

    复制代码

     1 Sub changeBgColor()
     2   Dim i As Integer
     3   Dim j As Integer
     4   Dim r As Integer
     5   Dim c As Integer
     6   
     7   
     8   r = 67 '最后一行是第67行
     9   c = 66 '最后一列是第66列
    10   
    11   For i = 3 To r '迭代,从第3行开始,一直到最后一行
    12     For j = 2 To c  '迭代,从第2列开始,一直到最后一列
    13 
    14         If Cells(i, j) > 0.5 And Cells(i, j) < 0.6 Then  '如果单元格Cells(i,j)的值大于0.5下于0.6,那么背景颜色代码为42
    15             Cells(i, j).Interior.ColorIndex = 42
    16         End If
    17         
    18         If Cells(i, j) > 0.6 And Cells(i, j) < 0.7 Then
    19             Cells(i, j).Interior.ColorIndex = 43
    20         End If
    21         
    22         If Cells(i, j) > 0.7 And Cells(i, j) < 0.8 Then
    23             Cells(i, j).Interior.ColorIndex = 6
    24         End If
    25         
    26         If Cells(i, j) > 0.8 And Cells(i, j) < 1 Then
    27             Cells(i, j).Interior.ColorIndex = 3
    28         End If
    29     Next
    30   Next
    31   
    32 End Sub

    复制代码

      结果如下所示:

         

      附1:excel中的颜色代码(colorIndex)

      

    标签: VBAExcel数据可视化

  • 相关阅读:
    Kafka副本管理—— 为何去掉replica.lag.max.messages参数
    Kafka0.8.2.1删除topic逻辑
    【原创】如何确定Kafka的分区数、key和consumer线程数
    【原创】Kafka console consumer源代码分析(二)
    QGIS源码解析和二次开发
    点云数据中的三维信息提取pcl
    Halcon10.0 + VS2010
    Halcon链接库
    python调用Opencv库和dlib库
    cvtColor
  • 原文地址:https://www.cnblogs.com/grj001/p/12225173.html
Copyright © 2011-2022 走看看