循环,而数据在Excel中刷新

我试图创build一个无害的循环,而bloomberg刷新大量的数据。 数据刷新后,我想打印(不是一个问题)。 问题是,等待和其他VBA延迟命令实际上由于某种原因停止刷新数据。 看起来像一个问题,彭博社。

我正在寻找一个简单的Do(something?)循环,直到范围是所有数字(isnumber)。 我只需要程序继续运行,直到所有的数据更新,然后它可以打印和继续前进。 有一个简单的循环,直到一个范围是我可以使用的所有数字? 谢谢

我知道有两个select,

一个是遍历范围内的每个单元格,检查它是否是数字,如果不是,继续包含Do循环:

Do AllNumbers = True For each c in Range(Range of what you want to be all numbers, ideally dynamic named range) If Not IsNumeric(c.Value2) And Len(Trim(c.Value2)) Then AllNumbers = False End If Next c Loop Until AllNumbers = True 

另一种是在VBA中执行一个Excel公式,像这样:

 Do ActiveWorkbook.Names.Add Name:="blahblahblah",RefersToR1C1:="=SUM(IF(NOT(ISNUMBER(Sheet1!R1C1:R9C2)),1,0))" Loop Until Application.Evaluate("blahblahblah") = 0 ActiveWorkbook.Names("blahblahblah").Delete 

不过要小心,如果彭博数据没有被检索到,或者如果有,但是这些数据中还有一些非数字数据,这两者都可能造成无限循环。