-1

我通过检查一个值获得了显示 msgbox 的 vba 代码。If Range("AH4").Value Then MsgBox "tablespace 大于 95"

但我想检查大约 50 个值的一整列,并且我想要一个遍历整列并在任何值大于 95 时显示一个 msgbox 的循环代码。 ABCD 1 表空间总大小(Mb)总空闲(MB )PCT_USED 2 MONITOR 100 99 1 3 PSAPSR3 73940 3992 94.6 4 PSAPSR3702 84960 24391 71.29 5 PSAPSR3USR 40 16 61 6 PSAPUNDO 9260 9221 0 7 760 SYSAUX 93 51.3125 8 SYSTEM 1470 9.75 99

现在我想完善克里斯给出的解决方案。1. 我希望我的 msgbox 应该显示它在 PCT_USED 下找到大于 95 的单元格的实际值。2.那个msgbox应该在A列下显示相应表空间的名称(我已经在我的excel表中冻结了这个列)。

4

2 回答 2

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
于 2012-10-08T09:47:13.050 回答
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

您可以使用 [E1] 代替Selection检查光标当前所在的列。

For Each循环通常比离散For ... Next循环快。

于 2012-10-08T09:51:20.290 回答