我有一个表使用一些vba来填充带有id号的b列。
然后我将列c作为vlookup
,从另一张表中获取基于id的名称。第一个单元格中的vlookup
正常工作并返回正确的名称John Doe。
当我向下拖动时,列c中的其余单元格返回与第一个单元格John Doe相同的名称。其他单元格中的vlookup
完全相同,但参考单元格确实发生了变化,正如预期的那样... c2 = vlookup(b2, $range, col, false)
,c3= vlookup(b3..)
,c4=vlookup(b4,..)
等。
当我在c3中查看vlookup
并单击b3时,单元格会更改为找到正确的名称(不再是John Doe)。所以它工作正常。我必须为列c中的每个单元格执行此操作。
vlookup
并不知道b列已更改?这是vba发生的事情吗?是否有一个刷新命令或其他方式让vlookup
注册列b已更改而无需单击每个vlookup
函数?
答案 0 :(得分:0)
如果您在单元格中输入了公式,则将公式复制到另一个单元格而Excel未更新结果,这意味着Calculation Mode
为Manual
。
要修复它(取决于版本,这适用于Excel 2010)
Formulas
Calculation Options
Automatic
如果您需要手动计算(对于在大型工作表中进行许多公式更改很有价值):
Formulas
Calculate Now
计算整个工作簿,或Calculate Sheet
计算当前工作表您可以通过按 F9 至Calculate Now
或 Shift - F9 至Calculate Sheet
来跳过所有点击。