Excel 如何按单元格颜色和字体查找

Excel表格中查询内容,通常以单元格值的形式来进行查询,如果想以单元格的颜色来到查找,如何实现呢?

看完本节内容你就明白了。

Excel中有查询对话框,这里不做介绍,很明显,看到的内容并没有多么难学。

接下来查询对话框背后的代码,进行一下解释学习。

首先要认识一个属性:FindFormat

这个属性是Application对象下的一个属性,其功能就是设置查询的格式。

也就是说,想要查找什么颜色的单元格或什么字体字号的单元格,进行定义。

如下图所示,做了一个示例,查找蓝色背景的单元格,字号为12,字体为" 宋体"

既然是查询,那就要用到一个查询方法:Find()

这个方法有很多参数,前面的文章有介绍,可以找一下看具体用法。下面的示例中也有相关内容。

其中有一个参数是否和FindFormat属性有关。

searchformat:=True

searchformat参数的意义:是否按查找格式进行,设置为True,很显然要按照设置的格式查找,如果为False那是否。

上述就是重点,下面具体看代码:

Option Explicit
Private Sub CommandButton1_Click()
Dim FindStyleObj As Object '定义查找条件对象
Set FindStyleObj = Application.FindFormat
    With FindStyleObj '定义查找的条件
        .Interior.Color = QBColor(9) '查找背景颜色
        .Font.Size = 12 '查找字号为12
        .Font.Name = "宋体"
    End With
Dim cell As Range, cellAddress As String, r As Range
Set cell = ActiveSheet.UsedRange.Find(what:="*", _
searchorder:=xlByRows, searchformat:=True) '查找并返回单元格
If cell Is Nothing Then MsgBox "什么都没有找到!": Exit Sub
cellAddress = cell.Address '保存第一个找到单元格地址
Set r = cell '设置第一个单元格
Do While Not cell Is Nothing
    Set r = Application.Union(r, cell) '组合找到的确单元格
Set cell = ActiveSheet.UsedRange.Find(what:="*", _
after:=cell, searchorder:=xlByColumns, searchformat:=True) '查找并返回单元格
If cell.Address = cellAddress Then Exit Do '如果返回到第一个查到的单元格就退出查找
DoEvents
Loop
r.Select
MsgBox "找到了如下单元格: " & r.Address
    Dim sStyle As String
    sStyle = "搜索条件:" & VBA.vbCrLf & _
    "背景颜色值为:" & _
     FindStyleObj.Interior.Color & _
    VBA.vbCrLf & "字号大小为:" & FindStyleObj.Font.Size
MsgBox sStyle '输出查找条件
FindStyleObj.Clear '清除查找条件
Set FindStyleObj = Nothing
End Sub

代码就不逐行介绍了,都要有注释,如果不懂,那说明不适合本阶段的学习,收藏后再慢慢学习应用。

别看代码有点多,实际上重要的内容就几行,如find()函数和Application.FindFormat。

Application.FindFormat可以返回一个CellFormat对象,此对象可设置查询单元格的属性。虽然在代码中没有明确体现,但是有一个行就是这个方法实现的。

Set FindStyleObj = Application.FindFormat

FindStyleObj就是一个CellFormat对象。

单元格查找是一个很实用的功能,如果按照不同颜色或字体进行查询,那么可以实现一些特别的确功能。

前提是要首先对表格进行了一些单元格设置之后,不然什么也不找到就毫无意义了。

欢迎关注、收藏

---END---

(0)

相关推荐

  • EXCEL中如何按照单元格颜色或字体颜色排序

    下面介绍在excel中按照单元格颜色排序和按照字体颜色排序的方法,希望本指南能帮到大家. 操作方法 01 下面举例演示操作.比如,下图中的表格,把单元格颜色为绿色的数据排在前. 02 我们先把表格全选 ...

  • Excel怎么按单元格颜色筛选查找

    在Excel查找和筛选操作中,有一项很特殊的技巧,就是对单元格按颜色进行筛选查找.以下就是具体的实现方法,希望对大家能有所帮助. 操作方法 01 首先我们制作如何所示的表格.当然大家可以根据实际需要来 ...

  • Excel如何按单元格颜色求和

    我们有时需要标记颜色的单元格进行求和或计数操作,下面我给大家介绍一个简单有效的方法. 操作方法 01 如下图中是各年度销售额列表,我们随机把数据标上不同的颜色,现在我们想在合计处根据颜色求相应数据的和 ...

  • 按Excel单元格中的字体颜色对表格数据进行排序

    按Excel单元格中的字体颜色对表格数据进行排序 下图中产品名称列有四种不同的颜色,按照自己需要的颜色序列,例如"灰色-绿色-蓝色-红色"进行排序. 1.选中表格中的任一单元格,切 ...

  • Excel中通过改变单元格内容使得单元格颜色改变

    在Excel中,有时候需要对单元格特定内容进行颜色标注,不同的单元格文字内容对应不同颜色,那么怎样来使得单元格颜色随着输入内容的不同来改变呢?这时候需要用到Excel中的条件格式工具. 条件格式工具能 ...

  • EXCEL设置单元格颜色

    文字颜色我们一般都会设置,单元格颜色你会设置吗?我们来看看在Excel中如何设置单元格颜色. 操作方法 01 打开Excel文档 02 将鼠标放在需要设置颜色的一个或多个单元格 03 找到" ...

  • Excel如何利用Get.Cell函数完成单元格颜色求和

    我们在使用excel时,会遇到这样的情况:一个工作表中某些单元格填充为某种颜色,要求将填充了某种颜色的单元格进行快速求和。 excel现成的函数中是没有根据颜色求和的函数。 小编在本文给大家介绍一种方 ...

  • EXCEL根据单元格颜色来求和方法介绍

    在Excel中,有很多函数。但是,却没有一个函数能够根据提供的单元格颜色来求和的。 方法/步骤 1、比如,有如下的单元格区域。 2、我们知道,上表中,不相邻的单元格,有些单元格的背景颜色是一样的。现在 ...

  • 在excel表格中如何按单元格颜色排序?

    在使用Excel表格的时候,经常会通过将数据填充不同的颜色进行区分,数据较多的时候,想要找出填充相同颜色的数据就比较麻烦,工作量较大,如果能够将数据按照填充颜色进行排序就会方便许多,下面小编就为大家详 ...