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文件,在里面准备以下内容:

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

目录
相关文章
|
5月前
LaTeX排版心形段落
LaTeX排版心形段落
|
Shell 流计算 Python
[oeasy]python0068_ 字体样式_正常_加亮_变暗_控制序列
[oeasy]python0068_ 字体样式_正常_加亮_变暗_控制序列
129 0
[oeasy]python0068_ 字体样式_正常_加亮_变暗_控制序列
|
图形学
unity之CanvasGroup解决文本异色问题
CanvasGroup解决文本异色问题
unity之CanvasGroup解决文本异色问题
如何用C#显示竖排文字?
看这个题目,应该觉的这个问题不难,刚开始我也是这么想,可是目前我手头上的参考资料上没有一个介绍竖直显示文字的,上网查资料只发现一个有用的,可是实现起来比较麻烦,需要进行坐标转换,旋转,还得平移,没办法,为了实现下图Y方向坐标的标注,只好这样了
1195 0
|
C#
C# 如何在PDF中绘制不同风格类型的文本
通过对控件Spire.PDF的测试,我们可以创建PDF文件并向文档中绘制文本、图片、表格、图形等内容,其中,对于绘制文本这一部分,Spire.PDF提供了三种字体类型来绘制文本,即: Standard fonts TrueType fonts Chinese, Japanese and Korean (CJK) fonts 从以上类中我们可以发现,是可以支持中、日、韩、英等字体类的,这为我们在操作PDF文件上提供了更多可能。
1160 0