【发布时间】:2018-03-26 23:31:03
【问题描述】:
我正在尝试根据另一个工作表中的其他范围单元格值在单元格范围中编写公式。公式如下:
ActiveSheet.Range("G14:G43").Formula = "=Worksheets("1ºperíodo").Range("V14:V43").Value"
但代码不起作用,并且出现语法错误。这必须与字符串有关,但我不知道如何解决它。
V14 的值必须等于G14 的值,直到最后一个单元格,即G14 的值等于V43 的值。除了语法错误之外,根据我的期望,公式是否正确?
【问题讨论】:
-
试试这个:
=Worksheets(""1ºperíodo")".Range(""V14:V43"").Value",假设工作表名称正确且没有拼写错误。 (在公式中,你需要加倍引号。否则 VBA 认为你在.Formula语句的末尾。) -
@BruceWayne 我认为你在第一个括号 Bruce 的末尾有错字,应该是
"") -
@BruceWayne 我使用它时遇到运行时错误“1004”。我之前已经试过了。
-
D'oh,很抱歉打错了 - 很好 @dwirony。试试
...Formula = "=Worksheets(""1ºperíodo"").Range(""V14:V43"").Value"。 OP,您能否确认工作表名称实际上是1ºperíodo? (没有空格,有重音i和度数符号)?另外,你到底得到了什么错误?最后,你想做什么?您正在使用.Formula设置Value?这不是一个公式AFAIK。你的意思是...Formula = "=Worksheets(""1ºperíodo"").Range(""V14"").Value"?澄清你想要做的事情会有很大帮助。 -
@BruceWayne 是的,工作表名称正是那个。 '应用程序定义的或对象定义的错误'。我希望 G14 单元格包含公式 =V14,直到到达 G43 单元格 =V43。