1
我试图创建一个无害的循环,而bloomberg刷新大量的数据。数据刷新后,我想打印(不是问题)。问题是,等待和其他VBA延迟命令实际上由于某种原因停止刷新数据。看起来像一个问题w彭博。循环,而Excel中的数据刷新
我在寻找一个简单的DO(什么?)循环,直到范围是所有数字(ISNUMBER)。我只需要程序继续运行,直到所有数据都更新,然后才能打印和继续。有一个简单的循环,直到范围是我可以使用的所有数字?由于
我试图创建一个无害的循环,而bloomberg刷新大量的数据。数据刷新后,我想打印(不是问题)。问题是,等待和其他VBA延迟命令实际上由于某种原因停止刷新数据。看起来像一个问题w彭博。循环,而Excel中的数据刷新
我在寻找一个简单的DO(什么?)循环,直到范围是所有数字(ISNUMBER)。我只需要程序继续运行,直到所有数据都更新,然后才能打印和继续。有一个简单的循环,直到范围是我可以使用的所有数字?由于
有两种选择,我知道的,
一种是通过在范围内的每个细胞循环,检查它是否是数字,如果没有,继续含有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
的另一种是执行Excel公式内VBA像这样:
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
不过要小心,这两个可以创建无限循环,如果彭博社的数据也没有看到检索或如果它的确如此,但其中有一些非数字数据。
彭博完成后是否有状态?也许你可以用DoEvents尝试do循环n次。改变或检查状态? – 2014-12-04 19:13:22
没有地位或弹出当它完成,我只需要一个循环来检查所有的清爽细胞实际上已经返回的数据。我是新手,所以任何例子都会很棒。 – jpm351 2014-12-04 20:10:01
你可以发布你用来刷新数据的代码吗? – tospig 2014-12-04 21:49:05