我意外地创build了一个vba竞赛条件?
我希望对一些我无法复制的bug有所了解。
我有一个非常复杂的工作表,改变了许多variables来获得一个特定的单元格aa5
返回一个string。 如果任何条件不满足,则返回0
。 该单元的公式是
=IF(SUM(AA2:AA4)=0,SubItem,0)
其中aa2:aa4
是必须返回一个string的条件,子项是一个命名的单元格范围。
一旦它返回一个string,我有一个模块将单元格aa5
粘贴到不同的表单export
。 问题是,我运行例程后,(大约需要20分钟),我在export
表中find0值。
我已经尝试手动更改所有variables的条件,创build错误,没有出现。 我也尝试通过代码逐行运行,似乎无法复制那里要么。
我的最后一根稻草是插入到export
表中的模块中
If Worksheets("analysis").Range("aa5").Value = 0 Then Exit Sub
运行后仍然有0个值!
我不是一个真正的程序员,但我有一些VBA代码的经验,是否有可能创build了竞争条件,其中0被复制之前, if
更新,但它仍然通过vba检查?
尝试在使用VBA之前计算您的值:
With Worksheets("analysis").Range("aa5") .Calculate If .Value <> 0 Then Worksheets("export").Range("A1").Value = .Value End If End With