我有工作簿与用户VBA功能(返回名称的单元格):
Function cellName()
cellName = ActiveCell.Offset(0, 0).Name.Name
End Function
我有一个列表 dictList,其中有3列用作字典(cellNames; ENG当量; CZ等效物)
我有一个单元格 $P$1,其中包括可以包含EN/CZ值的数据验证。
工作表中具有指定名称(=cellName)的每个单元格都包含一个函数
=VLOOKUP(cellName();dictList;IF($P$1="CZ";2;3);FALSE)
最后,每个命名的单元格根据其名称和dictlist中的vlooked值包含捷克语或英语文本。
当我将 $P$1 从CZ切换到EN或从EN切换到CZ时,出现问题。
使用VLOOKUP公式计算的值显示结果 #VALUE!,直到我在每个单元格上按F2和Enter键。
我不想在切换语言后在每个单元格上按F2+enter。
谢谢你的帮助。
卡雷尔
当我把cellName()的结果直接放到vlookup中时,它会按预期工作;当我把函数放回vlookup中时,它会再次返回#VALUE!。
1条答案
按热度按时间rjjhvcjd1#
使用
Application.ThisCell
代替ActiveCell
:以
Range
对象的形式返回从中调用用户定义函数的单元格。