【问题标题】:Don't understand excel formula embedded in VBA不理解嵌入在 VBA 中的 excel 公式
【发布时间】:2017-04-03 11:57:11
【问题描述】:

有人可以在 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 值。我不明白的是VLOOKUPfunctions 中的任何一个到底在做什么。 R1C1 表示法引用了哪些单元格?为什么不需要指定列?然后我没有得到 'C:\temp\MasterRecords.xls'!C2:C15 参数。谢谢。

【问题讨论】:

标签: excel vba


【解决方案1】:

在公式中

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

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

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

4) Col_index_num 14 指的是考虑到 table_array 的列 O

公式是用 R1C1 样式编写的,我想您对 C2:C15 感到困惑,因为缺少 R,这仅意味着此处在公式中使用了整列,即 $B:$O

【讨论】:

    【解决方案2】:

    查看您所写的内容,让我们分解一下 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 = 完全匹配。

    【讨论】:

      猜你喜欢
      • 2015-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-31
      • 1970-01-01
      相关资源
      最近更新 更多