excel表格不用按F9自动刷新,当HJ两列出现0时自动停止。

excel表格不用按F9自动刷新,数值是随机的,需要不断刷新,当HJ两列出现0时自动停止。如图。

img

用VBA

以下是一个使用VBA实现的自动刷新Excel表格,并在HJ两列出现0时自动停止的示例代码:

Sub AutoRefresh()
    Dim rngHJ As Range
    Set rngHJ = Range("H1:J100") ' 设置HJ两列的范围
    
    ' 循环刷新
    Do While Application.WorksheetFunction.CountIf(rngHJ, 0) < rngHJ.Cells.Count
        Calculate ' 刷新计算
        DoEvents ' 等待其他事件处理
    Loop
End Sub


在上述代码中,首先使用Range函数设置HJ两列的范围。然后使用一个循环来不断刷新表格,直到HJ两列中出现0为止。在每次循环中,使用Calculate函数刷新表格的计算,然后使用DoEvents函数等待其他事件的处理。循环的条件是使用CountIf函数统计HJ两列中等于0的单元格数量,如果等于HJ两列单元格总数,则表示已经出现了0,循环停止。

您可以将上述代码复制到Excel的VBA编辑器中,并在需要时调用AutoRefresh子程序以自动刷新表格。请注意,如果表格中包含大量公式或复杂计算,自动刷新可能会导致性能问题。因此,建议您根据实际情况进行调整。