【发布时间】:2015-05-23 08:59:40
【问题描述】:
我在 VBA 中编写一些代码时遇到问题,该代码将为活动工作簿中的所有工作表运行宏,而无需每次“手动”选择工作表,然后再次运行该方法。我目前拥有的如下:
sub NhlStatsHighlighter()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
With ws
For Each cell In ActiveSheet.UsedRange.Cells
If IsNumeric(cell) And Not IsEmpty(cell) Then
If cell.Value < 0 Then
cell.Interior.Color = rgbRed
ElseIf cell.Value = 0 Then
cell.Interior.Color = rgbGray
ElseIf cell.Value > 0 Then
cell.Interior.Color = rgbLightBlue
End If
End If
Next
End With
Next ws
这仅适用于第一个(活动)工作表。我不太确定我做错了什么。我尝试了其他方法,但遇到了同样的问题。
【问题讨论】:
-
请参阅How to avoid using Select in Excel VBA macros,了解摆脱依赖选择和激活来实现目标的方法。
-
@KyleStephens 另外我不确定这是否只是一个示例程序。但是您可以只使用条件突出显示而不是宏来根据其值更改颜色。
标签: vba excel methods selection