VBA Excel - 根据其他单元格值更新单元格值

时间:2018-03-26 14:52:02

标签: excel vba excel-vba

我正在尝试根据另一个工作表中的其他范围单元格值在单元格区域中编写公式。公式如下所示:

ActiveSheet.Range("G14:G43").Formula = "=Worksheets("1ºperíodo").Range("V14:V43").Value"

但代码不起作用,我收到语法错误。这必须与字符串相关,但我不知道如何解决它。 V14处的值必须等于G14处的值,直到最后一个单元格,即G14处的值等于V43处的值。除了语法错误之外,根据我的预期,公式是否正确?

1 个答案:

答案 0 :(得分:2)

  

"=Worksheets("1ºperíodo").Range("V14:V43").Value"

不是公式。这是一个价值。

如果您只想要静态值,则只需指定值:

ActiveSheet.Range("G14:G43").Value = Worksheets("1ºperíodo").Range("V14:V43").Value

如果你想要一个实时公式,你需要从字符串中提取vba并使用.Address函数:

ActiveSheet.Range("G14:G43").Formula = "=" & Worksheets("1ºperíodo").Range("V14").Address(0,0,,1)

但上述内容可以简化为:

ActiveSheet.Range("G14:G43").Formula = "='1ºperíodo'!V14"

使用公式,我们只需要引用带有相对引用的第一个单元格,vba将对每一行进行更改。