VBA实现文本对比着色

简介: VBA实现文本对比着色

我们在使用Excel处理数据的时候,经常需要对比两行或者两列数据之间的异同。虽然有EXACT之类的函数非常方便的提供了对比功能,但难免还是不够用,特别是需要实现一些个性化的比对的时候。

这时VBA就派上了用场,使用VBA代码也能很方便的实现单元格的文本比对着色。只需要在vba代码编辑器里添加如下一段代码即可:

Sub diff()
    Dim wbook As Workbook
    ChDir "D:\"
    Set wbook = Workbooks.Open(Filename:="D:\1.xlsx")   '要比对的Excel文本
    wbook.Activate
    Dim col, row As Integer
    For row = 1 To ActiveSheet.UsedRange.Rows.Count Step 1      '所有有效的行
        For col = 1 To ActiveSheet.UsedRange.Columns.Count Step 2   '所有有效的列,step 2 表示每隔一行都执行一次比对,这样可以实现多组比对
            If Cells(row, col) <> Cells(row, col + 1) Then
                Cells(row, col).Interior.Color = 5296274      '着绿色
                Cells(row, col + 1).Interior.Color = 5296274
            End If
        Next
    Next
    wbook.Save
End Sub

为了验证上述代码有效,我们在D盘根目录下建立一个1.xslx文件,在里面准备以下内容:

执行上述代码,效果如图所示:

目录
相关文章
|
9月前
|
C++
EasyX图形库学习(二、文字输出)
EasyX图形库学习(二、文字输出)
|
9月前
|
C语言
c语言编程练习题:7-3 输出带框文字
本题要求编写程序,输出指定的带框文字。
149 0
|
6月前
|
编解码 前端开发
Typora 1.0.3 markdown 满屏显示,去除两边的留白
Typora 1.0.3 markdown 满屏显示,去除两边的留白
54 4
|
6月前
|
编解码 前端开发
Typora 0.9.78 markdown 满屏显示,去除两边的留白
Typora 0.9.78 markdown 满屏显示,去除两边的留白
77 0
|
8月前
LaTeX排版心形段落
LaTeX排版心形段落
|
Shell 流计算 Python
[oeasy]python0083_[趣味拓展]字体样式_正常_加亮_变暗_控制序列
[oeasy]python0083_[趣味拓展]字体样式_正常_加亮_变暗_控制序列
79 0
|
Shell 流计算 Python
[oeasy]python0068_ 字体样式_正常_加亮_变暗_控制序列
[oeasy]python0068_ 字体样式_正常_加亮_变暗_控制序列
139 0
[oeasy]python0068_ 字体样式_正常_加亮_变暗_控制序列
WORD必学技巧:标尺与编辑标记
WORD必学技巧:标尺与编辑标记
120 0
WORD必学技巧:标尺与编辑标记
如何用C#显示竖排文字?
看这个题目,应该觉的这个问题不难,刚开始我也是这么想,可是目前我手头上的参考资料上没有一个介绍竖直显示文字的,上网查资料只发现一个有用的,可是实现起来比较麻烦,需要进行坐标转换,旋转,还得平移,没办法,为了实现下图Y方向坐标的标注,只好这样了
1214 0
|
算法 编解码 数据可视化
WPF4文字模糊不清晰、边框线条粗细不一致的解决方法
原文:WPF4文字模糊不清晰、边框线条粗细不一致的解决方法 软件测试过程中发现在一台1600*900的分辨率电脑上文字模糊,甚至某些个文字出现压缩扭曲 经过实践,发现按下面方法能解决一点问题: 在窗口或控件上设置字体属性就可以了(红色标注部分),如下:  注:TextOptions.
1086 0