【发布时间】:2017-04-04 09:51:35
【问题描述】:
我是这个网站的新手,过去作为被动阅读器找到了很多解决方案,但现在我在 VBA 中遇到了一些问题。
所以,我想在特定单元格中用 excel 编写一个调用函数的公式(已经在我的代码中)。我希望它被写成一个公式,而不仅仅是一个结果。
我调用的函数是插值函数。
当我编写这段代码时,它可以工作:
ActiveSheet.Cells(2, 8).Formula = "=Interpolate(J11:J43,K11:K46,F3,FALSE)"
现在,我想把公式的一部分变成变量
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 变暗
Lastrow1 = 43
Worksheets("YourSheetName").Cells(2, 8).Formula = "=Interpolate(J11:J""&Lastrow1&"",K11:K46,F3,FALSE)"
它也不起作用,我有错误消息“应用程序定义或对象定义错误”。
【问题讨论】:
-
澄清一下,您希望它在单元格中呈现为公式的文本,而不是结果?另外,您是否收到任何类型的错误消息?你的问题并不完全清楚。
-
还显示您如何定义变量,因为这可能会产生重大影响。 (主要是本地与全球)
-
Dim lastrow1 As Long Lastrow1 = 43 Worksheets("YourSheetName").Cells(2, 8).Formula = "=Interpolate(J11:J""&Lastrow1&"",K11:K46,F3, FALSE)”返回“应用程序定义的或对象定义的错误”。
标签: excel vba function variables