为什么初始计算后会出现单元丢失公式?-Excel 2007

为什么初始计算后会出现单元丢失公式?-Excel 2007,excel,vba,reference,cell,userform,Excel,Vba,Reference,Cell,Userform,我有一张excel表格,它正在从用户表单中输入数据。当主页或设置页上的某些单元格发生更改时,某些单元格会自动更新 在设置页面上,单元格H1引用单元格Home!B15是源于我的用户表单的控件。它接受一个销售代表的名字 单元格H2具有以下公式 =IF(ISERROR(VLOOKUP(Home!B15,D2:E243, 2, FALSE)), "", VLOOKUP(Home!B15,D2:E243, 2, FALSE)) 这个很好用 在家里!B16,我有以下公式 =Setup!H2 无论出于何种

我有一张excel表格,它正在从用户表单中输入数据。当主页或设置页上的某些单元格发生更改时,某些单元格会自动更新

在设置页面上,单元格H1引用单元格Home!B15是源于我的用户表单的控件。它接受一个销售代表的名字

单元格H2具有以下公式

=IF(ISERROR(VLOOKUP(Home!B15,D2:E243, 2, FALSE)), "", VLOOKUP(Home!B15,D2:E243, 2, FALSE))
这个很好用

在家里!B16,我有以下公式

=Setup!H2
无论出于何种原因,它都会一次性填充正确的值。一旦我在userform中选择了不同的销售代表,它将丢失公式,并保留第一个值


我又问了一个问题:为什么我的单元格在接受第一个值后会丢失它的公式?

我在VBA/EXCEL 2010中遇到了与userform相同的问题。当您以影响计算单元中的值的形式更改值时,该单元中的公式似乎会替换为文字值。非常令人沮丧


我所能做的最好的变通方法是将丢失的公式存储在另一个位置(例如,在字典对象中),然后当我关闭表单时,我使用VBA用这些单元格中的公式覆盖[新]文字值。

公式不会自动消失,因此,您的代码的某些部分必须用单元格的值替换公式。@TimWilliams,这就是我最初的计算结果。尽管如此,目前在主页上没有控制源代码到B16。似乎没有什么东西在覆盖它。为了进一步观察这个问题,您是否建议我首先查看哪些内容?工作表代码模块中是否有可能响应工作表事件的代码?@TimWilliams我刚刚检查了一下。我的其他单元格在任何时候都没有指向所讨论的单元格。在这种情况下,不查看工作簿就很难进行调试。