Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
vlookup未找到vba单元格_Vba_Excel_Vlookup - Fatal编程技术网

vlookup未找到vba单元格

vlookup未找到vba单元格,vba,excel,vlookup,Vba,Excel,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,…),等等 问题是,当我查看

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

如果您在一个单元格中输入了公式,然后将公式复制到另一个单元格,Excel没有更新您的结果,这意味着
计算模式
手动

修复它(取决于版本,这是针对Excel 2010的)

  • 单击功能区中的
    公式
  • 单击
    计算选项
  • 单击
    Automatic
  • 如果需要手动计算(对于在大型工作表中更改许多公式很有价值):

  • 单击功能区中的
    公式
  • 单击
    立即计算
    计算整个工作簿,或
  • 单击
    计算工作表
    计算当前工作表

  • 您可以通过按F9键跳过所有的点击,即按
    立即计算
    ,或按Shift-F9键跳过
    计算表

    @EngJon如果我读对了,我想他没有任何代码。db2381您的工作簿/工作表是否已关闭自动计算?当我将“计算”选项设置为“手动”时,我能够重新创建您的问题。请包含您的代码并格式化您的问题,使其不仅仅是一个大文本块。是否启用了自动计算模式?公式选项卡->计算选项->自动