我有以下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代码
答案 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))"