我有一个必须是 Excel VBA 的客户端的频繁数据处理。它是 6 个选项卡上的 3000x60 单元格网格,因此循环可能需要一段时间。测试任务是找到值 >5
并突出显示它们。
由于各种原因,条件格式不是一种选择。
for 循环很明显,我对此持开放态度,但我正在寻找速度改进。
更换似乎更快。我想尝试 Selection.Replace What:=">5"但这寻找字符串而不是我真正想要的不等式。
最佳答案
也许这是一个有趣的方法?
Sub Highlight()
Dim WS As Worksheet
For Each WS In ThisWorkbook.Worksheets
For X = 1 To 60
On Error Resume Next
With Intersect(WS.UsedRange, WS.Columns(X))
.AutoFilter 1, ">5"
.Offset(1).Resize(.Rows.Count - 1).Interior.Color = vbYellow
.AutoFilter
End With
On Error GoTo 0
Next X
Next WS
End Sub
显然,还有很大的改进空间(例如屏幕更新和计算),但您应该明白这一点。我不知道它是否更快:)。至少你不会循环所有单元格。
关于excel - VBA 使用不等式替换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56772914/