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