VBA,合并.Formula with VBA

时间:2018-12-05 14:23:33

标签: excel vba excel-vba

我有以下vba代码,可将公式放入单元格中。

 .Range("D" & lastrow + 1).Formula = "=INDEX(Spread!$C:$C, MATCH(1,INDEX((A330 = Spread!$A:$A) * (""Stack"" =Spread!$B:$B),),0))"

如何将公式中的A330更改为Worksheets("Manager").Range("C2").Value之类的vba代码

2 个答案:

答案 0 :(得分:2)

只需使用&运算符将其连接为普通字符串即可。由于您不是在联接文本,而是联接VBA对象,因此请勿在该对象周围加上引号。

"=INDEX(Spread!$C:$C, MATCH(1,INDEX((" & Worksheets("Manager").Range("C2").Value & "= Spread!$A:$A) * (""Stack"" =Spread!$B:$B),),0))"

答案 1 :(得分:1)

您还可以将数据存储在变量中,并使用它代替A330。这样一来,您随时可以在代码中的任何地方随时使用新创建的变量

myData = Worksheets("Manager").Range("C2").Value
.Range("D" & lastrow + 1).Formula = "=INDEX(Spread!$C:$C, MATCH(1,INDEX((myData = Spread!$A:$A) * (""Stack"" =Spread!$B:$B),),0))"