不要理解嵌入在VBA中的excel公式

时间:2017-04-03 03:15:39

标签: excel vba

有人可以在VBA代码中解释这个Excel公式。

Range("U8").FormulaR1C1 = _
=IF(ISNA(VLOOKUP(RC[-1],'C:\temp\MasterRecords.xls'!C2:C15,14,FALSE)=""True""),""No Title Found"",VLOOKUP(RC[-1],'C:\temp\MasterRecords.xls'!C2:C15,14,FALSE))"

我知道IF正在检查#N/A值。我不明白的是VLOOKUP函数中的任何一个正在做什么。 R1C1表示法引用了哪些单元格?为什么不需要指定列?然后我没有得到'C:\temp\MasterRecords.xls'!C2:C15个论点。感谢。

2 个答案:

答案 0 :(得分:1)

在公式中

1)RC [-1]是指离开公式单元格的一个单元格。

2)Vlookup公式指的是外部工作簿C:\ temp \ MasterRecords.xls。

3)table_array C2:Vlookup公式中使用的C15是指$ B:$ O

4)考虑到table_array

,Col_index_num 14指的是列O.

该公式是以R1C1风格编写的,我想你会对C2:C15感到困惑,因为R缺失只表示在公式中使用了整列,即$ B:$ O

答案 1 :(得分:0)

查看你所写的内容,让我们分解vlookup:

VLOOKUP(RC[-1],'C:\temp\MasterRecords.xls'!C2:C15,14,FALSE)

RC[-1] =查找当前单元格左侧1列中的值。 (同一行)

'C:\temp\MasterRecords.xls'!C2:C15 =查找C2:C15中的数据(masterRecords xl文件的第2列到第15列。

14 =返回查找范围中的第14列。将返回文件的第15列。

FALSE =完全匹配。