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值的单元格添加背景颜色的代码如下:
Sub changeBgColor()
Dim i As Integer
Dim j As Integer
Dim r As Integer
Dim c As Integer r = '最后一行是第67行
c = '最后一列是第66列 For i = To r '迭代,从第3行开始,一直到最后一行
For j = To c '迭代,从第2列开始,一直到最后一列 If Cells(i, j) > 0.5 And Cells(i, j) < 0.6 Then '如果单元格Cells(i,j)的值大于0.5下于0.6,那么背景颜色代码为42
Cells(i, j).Interior.ColorIndex =
End If If Cells(i, j) > 0.6 And Cells(i, j) < 0.7 Then
Cells(i, j).Interior.ColorIndex =
End If If Cells(i, j) > 0.7 And Cells(i, j) < 0.8 Then
Cells(i, j).Interior.ColorIndex =
End If If Cells(i, j) > 0.8 And Cells(i, j) < Then
Cells(i, j).Interior.ColorIndex =
End If
Next
Next End Sub
结果如下所示:

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

VBA在Excel中的应用(一):改变符合条件单元格的背景颜色的更多相关文章
- vba打开excel文件遍历sheet的名字和指定单元格的值
今天项目上有个应用,获取指定Excel文件下的所有sheet的名称以及当前sheet中指定单元格的值,并把他们写到固定的sheet中去,看了下,文件比较多,而且每个文件sheet的个数比较多,也不一样 ...
- 利用VBA查找excel中一行某列第一次不为空与最后一列不为空的列数
昨日同事有需求,想知道每个商品第一次销售的月份,以及最后一次销售的月份. 本想通过什么excel函数来解决,但是找了半天也没找到合适的,最后还是通过VBA来解决吧. 使用方法: Excel工具-宏-V ...
- VBA在Excel中的应用(三)
目录 Chart Export Chart Format Chart Lengend Chart Protect Chart Title Chart Chart Export 1. 将Exce ...
- Excel自文本导入内容时如何做到单元格内换行
前言:今天在处理数据的时候,在数据库中用到了\n换行符号,目的是在同表格内做到数据多行显示,比如 字段名1 字段名2 字段名3 1 数据一行 数据二行 数据三行 例子是在sql查询后的结果 ...
- EXCEL小技巧:如何统计非空单元格
http://club.excelhome.net/thread-1187271-1-1.html 下面教大家如果用函数统计非空单元格的数量 首先我们来介绍几个统计函数: 1.COUNT(value1 ...
- phpspreadsheet 中文文档(一) 访问单元格
2019年10月11日11:45:09 访问单元格 访问电子表格中的单元格应该非常简单.本主题列出了一些访问单元的选项. 通过坐标设置单元格值 可以使用工作表的setCellValue()方法来按坐标 ...
- c#怎样获取excel单元格的RGB颜色
这段时间一直在做office的工作.前2天获取单元格的颜色的问题一直没搞明确. 開始我想用的就是Npoi.主要前一部分的工作都是用Npoi完毕的 row.GetCell(j).CellStyle.Fi ...
- excel中vba将excel中数字和图表输出到word中
参考:https://wenku.baidu.com/view/6c60420ecc175527072208af.html 比如将选区变为图片保存到桌面: Sub 将选区转为图片存到桌面() Dim ...
- Android中Selector的用法(改变ListView和Button的默认背景)
Android中的Selector的用法 http://blog.csdn.net/shakespeare001/article/details/7788400#comments Android中的S ...
随机推荐
- UVa 10791 (唯一分解) Minimum Sum LCM
题意: 输入n,求至少两个正整数,使得这些数的最小公倍数为n且和最小. 分析: 设n的分解式为,很显然单独作为一项,和最小. 这里有两个小技巧: 从2开始不断的除n,直到不能整除为止.这样就省去了素数 ...
- TCP协议的一些问题
1 连接握手三次 解释1:已失效的连接请求报文段 情况下如下:client发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达server.本 ...
- 原生Ajax书写
1.创建XMLHttpRequest对象 function createXMLHTTPRequest() { //1.创建XMLHttpRequest对象 //这是XMLHttpReuquest对象无 ...
- ubuntu-12.04.1-desktop-x64下JDK环境的安装与配置
1.上oracle官网下载最新的JDK.在这里,我的系统是ubuntu-12.04.1-desktop-amd64,目前位置JDK的最新版本位7u9.jdk-for-linux有两种安装包,一种是rp ...
- android 触摸事件、点击事件的区别
针对屏幕上的一个View控件,Android如何区分应当触发onTouchEvent,还是onClick,亦或是onLongClick事件? 在Android中,一次用户操作可以被不同的View按次序 ...
- IOS AVAUDIOPLAYER 播放器使用
1. 导入 AVFoundation.framework 2.导入头文件 #import <AVFoundation/AVFoundation.h> 3. player = [[AVAu ...
- 浏览器URL传参最大长度问题
这几天为解决一个BUG头疼了一段时间,BUG现象如下: 一个选择人员的选择控件,当选择多个人时(50多个的时候),返回没有错误现象,而再一次打开的时候就报404错误.看到这个错误非常纳闷,无法下手,只 ...
- hadoop1.2.1 伪分布式配置
主要配置 core-site.xml hdfs-site.xml mapred-site.xml
- BFC--绝对值得你思考
CSS BFC(Block Formatting Context) BFC是W3C CSS 2.1规范中的一个概念,他决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用. ...
- bzoj 2438 [中山市选2011]杀人游戏(SCC+概率)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2438 [题意] N个人中有一个杀手,每次询问一个人可能被杀或被告知其认识的人中谁是杀手 ...