插入具有不同参数的公式 - 错误13类型不匹配

时间:2017-11-24 13:39:28

标签: excel-vba formula vlookup vba excel

我在编程方面很陌生,而且我在这个领域是自学成才的(从互联网上复制大量代码行,主要来自这里!)。

我必须在新工作表中插入一些计算,并在它们之间插入一个vlookup公式,其中每个工作表中的表范围都会发生变化。由于我是代码编写的初学者,当我需要编写一些我用来录制宏的新内容时,我会修改它,直到达到目标。

在这种情况下,我记录了公式:

ActiveCell.FormulaR1C1 = "=VLOOKUP(R[16]C[-6],R[14]C[-6]:R[19]C[-5],2,TRUE)"

并将其修改为:

Dim n, i As Integer
Dim mCell As Range

n = 7
i = 13726
Set mCell = ActiveSheet.Cells(3 + n + 8, 2)

Cells(4, 15).Formula = "=VLOOKUP(" & Cells(3, 15) & ";" & Range(Cells(3 + n + 8, mCell.Column), Cells(i - 1, n + 1)) & ";2;TRUE)"

之前将其插入主宏。这是宏的简化(我修改了变量,在原始的变量中,它们将针对每个新工作簿进行更改)。

当我运行它时,我收到错误13 - 类型不匹配"。 寻找答案并做了很多"尝试&错误",我一次又一次地检查它,我改变了很多公式:

  • 单元格(4,15)/范围(" O4")
  • .Formula / .FormulaLocal / .Value
  • " = VLOOKUP(" /" = BUSCARV(" - >我正在使用西班牙语的excel,在功能被翻译的工作表中
  • Cells(3,15)和Range(...)/ Cells(3,15).Address和Range(...)/ Cells(3,15).Address和Range(...)。Address
  • ,/; - >在我必须使用的表格中";",在VBA中自动记录为","
  • TRUE / VERDADERO - >仍然是西班牙语点

我已经编写了所有排列(或组合?:-P)并且所有这些排列(144种变体)都是子句运行,总是接收相同的错误类型。

所以,可能问题出在其他地方......我错过了什么? 非常感谢你!

1 个答案:

答案 0 :(得分:2)

Excel以英语为导向,如果您使用西班牙语版本,则首先需要从Formula更改为FormulaLocal。在公式;而不是,中使用函数参数之间的分隔符时,您需要使用FormulaLocal

其次,你暗淡Dim n, i As Integer,这意味着i As Integern As Variant,你需要定义Dim n As Long, i As Long

<强>代码

Cells(4, 15).FormulaLocal = "=VLOOKUP(" & Cells(3, 15).Address & ";" & Range(Cells(3 + n + 8, mCell.Column), Cells(i - 1, n + 1)).Address & ";2;TRUE)"