我通过检查一个值获得了显示msgbox的vba代码。 如果是Range(" AH4")。那么值 MsgBox"表空间大于95"
但我想查看大约50个值的整列,我想要一个遍历整个列的循环代码,如果任何值大于95,则显示一个msgbox。 A B C D 1表空间总大小(Mb)总自由(MB)PCT_USED 2 MONITOR 100 99 1 3 PSAPSR3 73,940 3,992 94.6 4 PSAPSR3702 84,960 24,391 71.29 5 PSAPSR3USR 40 16 61 6 PSAPUNDO 9,260 9,221 0 7 SYSAUX 760 51.3125 93 8 SYSTEM 1,470 9.75 99
现在我想改进克里斯给出的解决方案。 1.我希望我的msgbox应该在PCT_USED下显示它发现大于95的单元格的实际值。 2. msgbox应该在A列下显示相应表空间的名称(我已经在excel表中冻结了这一列)。
答案 0 :(得分:2)
你不需要为此循环。
尝试
Sub TestRange()
Dim rng As Range
Set rng = [F1:F10] ' <-- adjust to your requirements
If Application.WorksheetFunction.Max(rng) > 95 Then
MsgBox "tablespace greater than 95"
End If
End Sub
答案 1 :(得分:0)
如何使用for each
循环......
Sub CheckInColumn()
Dim TestCell As Range
For Each TestCell In [E1].EntireColumn.Cells
' break on first find
If TestCell > 95 Then
MsgBox "Co-coo"
Exit For
End If
Next TestCell
End Sub
您可以使用Selection
检查光标当前所在的列,而不是[E1]。
For Each
循环通常比离散For ... Next
循环更快。