![在 Excel 中查找聚集值/连续值](https://linux22.com/image/1448514/%E5%9C%A8%20Excel%20%E4%B8%AD%E6%9F%A5%E6%89%BE%E8%81%9A%E9%9B%86%E5%80%BC%2F%E8%BF%9E%E7%BB%AD%E5%80%BC.png)
我试图在 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
会产生:
宏的安装和使用非常容易:
- ALT-F11 打开 VBE 窗口
- ALT-I ALT-M 打开新模块
- 粘贴内容并关闭 VBE 窗口
如果您保存工作簿,宏将随之保存。如果您使用的是 2003 以后的 Excel 版本,则必须将文件保存为 .xlsm 而不是 .xlsx
要删除宏:
- 调出如上所示的 VBE 窗口
- 清除代码
- 关闭 VBE 窗口
要使用 Excel 中的宏:
- ALT-F8
- 选择宏
- 触摸运行
要了解有关宏的更多信息,请参阅:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
和
http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx
必须启用宏才能使其工作!