VBA在包含已定义variables的单元格中写入excel函数

我是这个网站的新手,过去作为一个被动的读者发现了很多解决scheme,但是现在我在VBA中遇到了一些问题。

所以,我想在特定的单元格中写入一个调用函数的公式(已经在我的代码中)。 我希望它被写成一个公式,而不仅仅是结果。

我调用的函数是插值函数。

当我写这段代码,它的作品:

ActiveSheet.Cells(2, 8).Formula = "=Interpolate(J11:J43,K11:K46,F3,FALSE)" 

现在,我想要使公式variables的一部分

 ActiveSheet.Cells(2, 8).String = "=Interpolate(J11:J"&Lastrow1&",K11:K46,F3,FALSE)" 

在我的代码Lastrow1 = 43 ,是未定义的

我也试过这个,没机会

 ActiveSheet.Cells(2, 8).String = "=Interpolate(J11:J""&Lastrow1&"",K11:K46,F3,FALSE)" 

或这个 :

 ActiveSheet.Cells(2, 8).String = "=Interpolate(J11:J"""&Lastrow1&""",K11:K46,F3,FALSE)" 

任何帮助如何做到这一点?

我尝试使用这段代码

昏暗的Lastrow1只要

拉斯特罗1 = 43

工作表(“YourSheetName”)。Cells(2,8).Formula =“= Interpolate(J11:J”“&Lastrow1&”“,K11:K46,F3,FALSE)”

它也不工作,我有错误消息“应用程序定义或对象定义的错误”。

你需要使用Cells(2, 8).Formula

尝试远离ActiveSheet ,而不是使用限定版本的Worksheets("YourSheetName").Cells(2, 8).Formula

尝试一小段代码来演示如何使其工作:

 Sub FormulaLastRow() Dim Lastrow1 As Long Lastrow1 = 43 ' <-- just for tests Worksheets("TEST").Cells(2, 8).Formula = "=Interpolate(J11:J" & Lastrow1 & ",K11:K46,F3,FALSE)" End Sub