excel vba-如果值大于*,则遍历列和显示消息框

时间:2012-10-08 09:43:25

标签: excel-vba vba excel

我通过检查一个值获得了显示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表中冻结了这一列)。

2 个答案:

答案 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循环更快。