vlookup没有找到vba细胞

时间:2015-05-07 13:27:19

标签: excel vba excel-vba vlookup

我有一个表使用一些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函数?

1 个答案:

答案 0 :(得分:0)

如果您在单元格中输入了公式,则将公式复制到另一个单元格而Excel未更新结果,这意味着Calculation ModeManual

要修复它(取决于版本,这适用于Excel 2010)

  1. 点击功能区中的Formulas
  2. 点击Calculation Options
  3. 点击Automatic
  4. 如果您需要手动计算(对于在大型工作表中进行许多公式更改很有价值):

    1. 点击功能区中的Formulas
    2. 点击Calculate Now计算整个工作簿,或
    3. 点击Calculate Sheet计算当前工作表
    4. 您可以通过按 F9 Calculate Now Shift - F9 Calculate Sheet来跳过所有点击。