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

insert a formula with varying parameteres - error 13 type mismatch

我在编程方面很新,而且我在这个领域是自学的(从互联网上复制了很多代码行,大部分是从这里复制的!)。

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

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

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)"

在将其插入主宏之前。这是宏的简化剪辑(我修复了变量,在原始变量中它们会随着每个新工作簿而改变)。

当我 运行 它时,我收到一个 "error 13 - type mismatch"。 找答案做了很多"try&error",我查了一遍又一遍,改了很多公式:

我写了所有排列(或组合?:-P)和 运行 随后所有的排列(144 种变化),总是收到相同的错误类型。

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

Excel 面向 English,如果您使用的是 Spanish 版本,那么首先您需要从 FormulaFormulaLocal。在公式中使用 ; 而不是 , 作为函数参数之间的分隔符时,您需要使用 FormulaLocal.

其次,你 dim 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)"