我正在尝试创建excel宏,用于更改带有剪贴板值的公式中的值。
我希望公式的某些部分有相对寻址,公式的其余部分有绝对寻址。我要从剪贴板粘贴的绝对地址值。
例如在下面的代码中,
ActiveCell.FormulaR1C1 = "=RC[-11]*(RC[-2]+R[-34]C[-2])"
为了代替R[-34]C[-2]
,我想给R[-75]C[-2]
,我在剪贴板上有这个75
。
所以,每当我执行宏时,公式的第二部分应该从剪贴板中获取绝对地址。
我当前的代码如下:
Sub Macro1()
ActiveCell.FormulaR1C1 = "=RC[-11]*(RC[-2]+R[-34]C[-2])"
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-16]=1,RC[-18]-R[-34]C[-18],1)"
ActiveCell.Offset(0, 1).Range("A1").Select
End Sub
感谢在这方面的任何帮助。
发布于 2021-10-11 03:17:05
..。你为什么要这么做呢?在创建VBA宏时,使用剪贴板是一件不好的事情,因此this post解释了如何避免这种情况。
你想把它用在公式里吗?
不,不,这是个坏主意。
就公式和宏而言,您可以执行以下操作:
替换:
ActiveCell.Formula = "=A2 * A3";
出自:
ActiveCell.Formula = "=" & ActiveCell.Offset(1,0) & " * " & ActiveCell.Offset(1,1)
..。但不要将剪贴板引用放在公式中。
https://stackoverflow.com/questions/69525107
复制