我的电子表格中有两个单元格,一个仅包含输入值(假设 cell_1),另一个(cell_2)具有引用前一个(=cell_1)的公式。为方便起见,我还创建了一个带有文本框的用户窗体,其 controlsource 属性链接到 cell_2。
如果没有用户窗体,一切正常。但是使用 UserForm(使用 vbModeless 显示)并且 cell_1 中的值发生更改(无论是通过手动更改还是其他 VBA 子程序更改),cell_2 中的公式将被 cell_1 的值覆盖,并且 TextBox 中的值停止更新。
有没有人遇到过这种奇怪的事情?
ps:我创建了一个简单的例子,你可以在这里下载
http://wikisend.com/download/192680/Control_Source_Bug_Test.xlsm
[更新] 2014/11/29
虽然根本原因还不清楚,但我发现 ListBox 的 rowsource 属性工作得很好; rowsource 连接的单元格的公式不受影响。通过适当的设置,它看起来就像 TextBox 一样,可以用作替代品!
最佳答案
我想,你应该在任何地方都添加你的重置公式。
Range("C7").Formula = "=C4"
添加到旋转按钮和用户表单文本框中。
这里是 same example sheet which I corrected my way我认为它有效。测试并告诉我我是否正确。
关于excel - 控制源连接的单元格不断丢失其公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27181044/