在 Excel 中查找聚集值/连续值

在 Excel 中查找聚集值/连续值

我试图在 Excel 电子表格中查找大于 0 的数字,这些数字将被突出显示。但是,突出显示的数字必须是连续的、聚集的数字,并且至少连续三个。

例如:

0
0
0
0
0
0
34
0
0
0
**156**
**190**
**2300**
**190**
**34**
0
0
0
0
0
0
0
0
0
0
17732
0
0
0
0
**2000**
**2900**
**1000**
0
0
0
0

在 Excel 中,粗体数字的整行应该突出显示/着色。

有没有简单的方法可以做到这一点?最好不用 VBA。

额外的: 查找几乎满足 3 聚类规则的数字。例如:

0
0
0
0
0
0
0
0
0
0
**156**
**0**
**190**
0
0
0
0
0
0
0
0
0
0
17732
0
0
0
0
**2000**
**0**
**3000**
**1000**
0
0
0
0

答案1

这假设您的值位于一列中,列A

在此处输入图片描述

我们想要行11,12,13高亮显示。

运行这个简短的宏:

Sub KolorRows()
    Dim N As Long, r1 As Range, r2 As Range
    Dim i As Long, K As Long, v As Long, r As Range
    N = Cells(Rows.Count, "A").End(xlUp).Row
    Set r1 = Nothing
    Set r2 = Nothing
    K = 0

    For i = 1 To N
        Set r = Cells(i, "A")
        v = r.Value
        If v = 0 Then
            Set r1 = Nothing
            Set r2 = Nothing
            K = 0
        Else
            Select Case K
                Case 0
                    K = K + 1
                    Set r1 = r
                Case 1
                    K = K + 1
                    Set r2 = r
                Case 2
                    K = 0
                    Union(r1, r2, r).EntireRow.Interior.ColorIndex = 27
                    Set r1 = Nothing
                    Set r2 = Nothing
            End Select
        End If
    Next i
End Sub

会产生:

在此处输入图片描述

宏的安装和使用非常容易:

  1. ALT-F11 打开 VBE 窗口
  2. ALT-I ALT-M 打开新模块
  3. 粘贴内容并关闭 VBE 窗口

如果您保存工作簿,宏将随之保存。如果您使用的是 2003 以后的 Excel 版本,则必须将文件保存为 .xlsm 而不是 .xlsx

要删除宏:

  1. 调出如上所示的 VBE 窗口
  2. 清除代码
  3. 关闭 VBE 窗口

要使用 Excel 中的宏:

  1. ALT-F8
  2. 选择宏
  3. 触摸运行

要了解有关宏的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

必须启用宏才能使其工作!

相关内容