ExcelVBA运用Excel的【条件格式】(四)

|---------------------------------------|
| ExcelVBA运用Excel的【条件格式】(四) |
| 条件格式FormatConditions.AddTop10方法 |

【问题】

快速定位到数据的前10或后10

【效果图】

如图

【知识点】

在VBA中,FormatConditions.AddTop10方法用于向Range对象添加一个基于最高或最低数值的条件格式规则。该方法属于FormatConditions集合,通常用于在数据集中高亮显示前10个或前10%的值。

用于在Excel工作表的指定范围内添加一个条件格式规则,该规则会高亮显示前10个最高值或最低值的单元格。你也可以选择使用百分比来表示前10%或后10%的数据。

其语法如下:

php 复制代码
RangeObject.FormatConditions.AddTop10(TopBottom As XlTopBottom, Percent As Boolean, Position As Long)

其中:

  • TopBottom参数是必需的,它是一个枚举类型XlTopBottom,用于指定是显示前10个最高值 (xlTop10Top) 还是前10个最低值 (xlTop10Bottom)。

  • Percent参数也是必需的,它是一个布尔值,用于确定Position参数是表示绝对数量还是百分比。如果为True,则Position被视为百分比;如果为False,则Position被视为具体数量。

  • Position参数是必需的,它是一个长整型,表示要高亮显示的值的数量或百分比。当PercentFalse时,这是具体数量(如10表示前10个值);当PercentTrue时,这是百分比(如10表示前10%的值)。

【我的代码】

php 复制代码
Sub AddTop10FormatCondition定位前10位()
    Dim ws As Worksheet
    Dim rng As Range
    ' 设置工作表
    '    Set ws = ThisWorkbook.Sheets("Sheet1")
    Set ws = ActiveSheet
    ' 清除之前的条件格式
    ws.Cells.FormatConditions.Delete
    ' 设置要应用条件格式的范围
    '    Set rng = ws.Range("A1:F20")
    Set rng = ws.UsedRange.Cells
    ' 添加前10项的条件格式
    ' 注意:这里的参数 TopBottom 设置为 xlTop10Top 表示前10项
    ' Percent 设置为 True 表示基于百分比(即前10%的项),如果设置为 False,则表示具体的前10项
    ' Rank 设置为 10 表示前10项(或前10%)
    With rng.FormatConditions.AddTop10
        .TopBottom = xlTop10Top
        .Percent = False                                       ' 使用具体数量而非百分比
        .rank = 10
        .Interior.Color = RGB(255, 255, 0)                     ' 设置背景色为黄色
    End With
    ' 清除任何现有的条件格式(可选,如果你只想保留这一个条件格式)
    '     rng.FormatConditions.Delete
End Sub

【拓展】

以上代码你会写吗?想想

====若有用,请转发免费学习====

关注看更多文章

Excel VBA代码合集

相关推荐
QuZhengRong12 小时前
【数据库】Navicat 导入 Excel 数据乱码问题的解决方法
android·数据库·excel
没有羊的王K1 天前
随想记-excel报表美化
excel
Full Stack Developme2 天前
Java后台生成多个Excel并用Zip打包下载
java·开发语言·excel
芦骁骏3 天前
自动处理考勤表——如何使用Power Query,步步为营,一点点探索自定义函数
数据分析·excel·powerbi
用户8356290780514 天前
使用 C# 将 DataTable 写入 Excel(基于 Spire.XLS for .NET)
excel
迪尔~5 天前
Apache POI中通过WorkBook写入图片后出现导出PDF文件时在不同页重复写入该图片问题,如何在通过sheet获取绘图对象清除该图片
java·pdf·excel
瓶子xf6 天前
使用Excel制作甘特图
excel·甘特图
战族狼魂6 天前
Excel 连接阿里云 RDS MySQL
mysql·阿里云·云计算·excel
cypking6 天前
vue excel转json功能 xlsx
vue.js·json·excel
专注VB编程开发20年6 天前
C#教程之NPOI读写excel文件XLS,XLSX格式
数据库·microsoft·c#·excel·xlsx·xls